voglio richiamare una funzione python dal report che stampa l'ordine di vendita:
ad esempio, ho visto che se metto nell'xml overridato dal mio modulo :
<t t-esc="time.strftime('%d %b %Y',time.strptime(l.data_consegna_preventivata,'%Y-%m-%d'))"/>
la cosa funziona perfettamente, ma cosa ha reso "visibile" il package time ?
girando per il codice ho trovato in product/report/product_pricelist.py questo frammento
class product_pricelist(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(product_pricelist, self).__init__(cr, uid, name, context=context)
self.pricelist=False
self.quantity=[]
self.localcontext.update({
'time': time,
'get_pricelist': self._get_pricelist,
'get_currency': self._get_currency,
'get_categories': self._get_categories,
'get_price': self._get_price,
'get_titles': self._get_titles,
})
sarebbe perfetto perchè vedo che permette di fare in product/views/report_pricelist.xml
<span t-esc="get_pricelist(data['form']['price_list'])"/>
ma non trovo un equivalente per la semplice stampata del sale order, chi lo stampa ? come lo estendo ?
( in pratica devo far comparire la lista prodotti in posti diversi in base alla loro categoria di appartenenza, quindi alla fine riuscire ad avere invece di
<tr t-foreach="o.options" t-as="l">
una cosa tipo
<tr t-foreach="o.get_filtered_options('nome_categoria')" t-as="l">
sarebbe l'ideale