diff --git a/addons/stock/product.py b/addons/stock/product.py index e8693707a45..2136b877e4b 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -385,11 +385,12 @@ class product_template(osv.osv): return res def _compute_nbr_reordering_rules(self, cr, uid, ids, field_names=None, arg=None, context=None): - res = dict.fromkeys(ids, {'nbr_reordering_rules': 0, 'reordering_min_qty': 0, 'reordering_max_qty': 0}) + res = {k: {'nbr_reordering_rules': 0, 'reordering_min_qty': 0, 'reordering_max_qty': 0} for k in ids} product_data = self.pool['stock.warehouse.orderpoint'].read_group(cr, uid, [('product_id.product_tmpl_id', 'in', ids)], ['product_id', 'product_min_qty', 'product_max_qty'], ['product_id'], context=context) for data in product_data: - product_tmpl_id = data['__domain'][1][2][0] - res[product_tmpl_id]['nbr_reordering_rules'] = res[product_tmpl_id].get('nbr_reordering_rules', 0) + int(data['product_id_count']) + p = self.env['product.product'].browse(cr, uid, [data['product_id'][0]], context=context) + product_tmpl_id = p.product_tmpl_id.id + res[product_tmpl_id]['nbr_reordering_rules'] += int(data['product_id_count']) res[product_tmpl_id]['reordering_min_qty'] = data['product_min_qty'] res[product_tmpl_id]['reordering_max_qty'] = data['product_max_qty'] return res