diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 207a542df76..14b057fe4d9 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -154,11 +154,16 @@ class procurement_order(osv.osv):
return {'value': v}
return {}
- def check_product(self, cr, uid, ids):
+ def check_product(self, cr, uid, ids, context=None):
""" Checks product type.
@return: True or False
"""
- return all(procurement.product_id.type in ('product', 'consu') for procurement in self.browse(cr, uid, ids))
+ res = False
+ for procurement in self.browse(cr, uid, ids, context=context):
+ product = procurement.product_id
+ if product.type in ('product', 'consu'):
+ res = True
+ return res
def check_move_cancel(self, cr, uid, ids, context=None):
""" Checks if move is cancelled or not.
diff --git a/addons/procurement/procurement_workflow.xml b/addons/procurement/procurement_workflow.xml
index 8bf1e4f9e16..ed0aff2d4f5 100644
--- a/addons/procurement/procurement_workflow.xml
+++ b/addons/procurement/procurement_workflow.xml
@@ -183,6 +183,7 @@
+ check_product()