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
+
+
+
+
+
+
+