diff --git a/addons/stock/product.py b/addons/stock/product.py
index f864aa2b65b..c15e66226e4 100644
--- a/addons/stock/product.py
+++ b/addons/stock/product.py
@@ -202,10 +202,12 @@ class product_product(osv.osv):
return res
def _compute_nbr_reordering_rules(self, cr, uid, ids, field_names=None, arg=None, context=None):
- res = {}
- product_data = self.pool['stock.warehouse.orderpoint'].read_group(cr, uid, [('product_id', 'in', ids)], ['product_id'], ['product_id'], context=context)
+ res = dict.fromkeys(ids, {'nbr_reordering_rules': 0, 'reordering_min_qty': 0, 'reordering_max_qty': 0})
+ product_data = self.pool['stock.warehouse.orderpoint'].read_group(cr, uid, [('product_id', 'in', ids)], ['product_id', 'product_min_qty', 'product_max_qty'], ['product_id'], context=context)
for data in product_data:
- res[data['product_id'][0]] = int(data['product_id_count'])
+ res[data['product_id'][0]]['nbr_reordering_rules'] = int(data['product_id_count'])
+ res[data['product_id'][0]]['reordering_min_qty'] = data['product_min_qty']
+ res[data['product_id'][0]]['reordering_max_qty'] = data['product_max_qty']
return res
_columns = {
@@ -266,7 +268,9 @@ class product_product(osv.osv):
'location_id': fields.dummy(string='Location', relation='stock.location', type='many2one'),
'warehouse_id': fields.dummy(string='Warehouse', relation='stock.warehouse', type='many2one'),
'orderpoint_ids': fields.one2many('stock.warehouse.orderpoint', 'product_id', 'Minimum Stock Rules'),
- 'nbr_reordering_rules': fields.function(_compute_nbr_reordering_rules, string='Reordering Rules', type='integer'),
+ 'nbr_reordering_rules': fields.function(_compute_nbr_reordering_rules, string='Reordering Rules', type='integer', multi=True),
+ 'reordering_min_qty': fields.function(_compute_nbr_reordering_rules, type='float', multi=True),
+ 'reordering_max_qty': fields.function(_compute_nbr_reordering_rules, type='float', multi=True),
}
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
@@ -374,11 +378,13 @@ 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, 0)
- product_data = self.pool['stock.warehouse.orderpoint'].read_group(cr, uid, [('product_id.product_tmpl_id', 'in', ids)], ['product_id'], ['product_id'], context=context)
+ res = dict.fromkeys(ids, {'nbr_reordering_rules': 0, 'reordering_min_qty': 0, 'reordering_max_qty': 0})
+ 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] += data['product_id_count']
+ 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
_columns = {
@@ -423,7 +429,9 @@ class product_template(osv.osv):
'route_ids': fields.many2many('stock.location.route', 'stock_route_product', 'product_id', 'route_id', 'Routes', domain="[('product_selectable', '=', True)]",
help="Depending on the modules installed, this will allow you to define the route of the product: whether it will be bought, manufactured, MTO/MTS,..."),
- 'nbr_reordering_rules': fields.function(_compute_nbr_reordering_rules, string='Reordering Rules', type='integer'),
+ 'nbr_reordering_rules': fields.function(_compute_nbr_reordering_rules, string='Reordering Rules', type='integer', multi=True),
+ 'reordering_min_qty': fields.function(_compute_nbr_reordering_rules, type='float', multi=True),
+ 'reordering_max_qty': fields.function(_compute_nbr_reordering_rules, type='float', multi=True),
'route_from_categ_ids': fields.related('categ_id', 'total_route_ids', type="many2many", relation="stock.location.route", string="Category Routes"),
}
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 3eeee833fd0..e7a8ec5997e 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -227,10 +227,21 @@
-
-
+
-
+
+
+ Min :
+ Max:
+
+
+
+
+
+
+