diff --git a/addons/account_analytic_default/account_analytic_default.py b/addons/account_analytic_default/account_analytic_default.py index e0e8f7292ef..6212e69ceb7 100644 --- a/addons/account_analytic_default/account_analytic_default.py +++ b/addons/account_analytic_default/account_analytic_default.py @@ -130,4 +130,26 @@ class product_product(osv.Model): 'rules_count': fields.function(_rules_count, string='# Analytic Rules', type='integer'), } +class product_template(osv.Model): + _inherit = 'product.template' + + def _rules_count(self, cr, uid, ids, field_name, arg, context=None): + Analytic = self.pool['account.analytic.default'] + res = {} + for product_tmpl_id in self.browse(cr, uid, ids): + res[product_tmpl_id.id] = sum([p.rules_count for p in product_tmpl_id.product_variant_ids]) + return res + + _columns = { + 'rules_count': fields.function(_rules_count, string='# Analytic Rules', type='integer'), + } + + + def action_view_rules(self, cr, uid, ids, context=None): + products = self._get_products(cr, uid, ids, context=context) + result = self._get_act_window_dict(cr, uid, 'account_analytic_default','action_product_default_list', context=context) + result['domain'] = "[('product_id','in',[" + ','.join(map(str, products)) + "])]" + result['context'] = "{}" + return result + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account_analytic_default/account_analytic_default_view.xml b/addons/account_analytic_default/account_analytic_default_view.xml index b4f8c646f90..8299cbca860 100644 --- a/addons/account_analytic_default/account_analytic_default_view.xml +++ b/addons/account_analytic_default/account_analytic_default_view.xml @@ -87,6 +87,20 @@ + + + product.template.stock.move + product.template + + + + + + +