[FIX] stock: count of reordering rules
* don't dig into context for data we already have * don't use mutable value as duplicated default * try to make the method work correctly in case it's ever called with multiple product template ids
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user