Salve a tutti, vorrei aggiungere uno di quei pulsanti(vedi allegato) in una form. Mi sono copiato dal modulo purchase la classe che crea quel pulsante(non so come si chiama effettivamente). Inoltre mi sono anche copiato nel mio modulo tutti gli import di quel file(purchase.py) . La classe che mi sono copiato è:
class product_product(osv.Model):
_name = 'product.product'
_inherit = 'product.product'
def _purchase_count(self, cr, uid, ids, field_name, arg, context=None):
Purchase = self.pool
return {
product_id: Purchase.search_count(cr,uid, [('order_line.product_id', '=', product_id)], context=context)
for product_id in ids
}
def action_view_purchases(self, cr, uid, ids, context=None):
if isinstance(ids, (int, long)):
ids = [ids]
result = self.pool._get_act_window_dict(cr, uid, 'purchase.action_purchase_line_product_tree', context=context)
result = "[('product_id','in',[" + ','.join(map(str, ids)) + "])]"
return result
_columns = {
'purchase_count': fields.function(_purchase_count, string='# Purchases', type='integer'),
}.
Qui parte dell'errore di quando provo ad avviare odoo:
File "/home/gianmarco/moduli/da_backooffice/models/__init__.py", line 26, in <module>
from . import da_backoffice
File "/home/gianmarco/moduli/da_backooffice/models/da_backoffice.py", line 732, in <module>
class product_product(osv.Model):
File "/home/gianmarco/moduli/da_backooffice/models/da_backoffice.py", line 751, in product_product
'purchase_count': fields.function(_purchase_count, string='# Purchases', type='integer'),
AttributeError: 'module' object has no attribute 'function
Non so se sono stato molto chiaro..