diff --git a/addons/crm/crm_lead_demo.xml b/addons/crm/crm_lead_demo.xml
index 5336f52a000..862f93126db 100644
--- a/addons/crm/crm_lead_demo.xml
+++ b/addons/crm/crm_lead_demo.xml
@@ -115,5 +115,85 @@
+
+
+
+
+ lead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lead
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lead
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm/crm_opportunity_demo.xml b/addons/crm/crm_opportunity_demo.xml
index aa965a07594..d03cf78ebbc 100644
--- a/addons/crm/crm_opportunity_demo.xml
+++ b/addons/crm/crm_opportunity_demo.xml
@@ -47,7 +47,7 @@
-
+
@@ -89,5 +89,90 @@
+
+
+
+ opportunity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ opportunity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ opportunity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ opportunity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ opportunity
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 8c2b6789cea..72eb3a7f51c 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -511,7 +511,18 @@ class mrp_production(osv.osv):
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'mrp.production', context=c),
}
_order = 'date_planned asc, priority desc';
-
+
+ def _check_qty(self, cr, uid, ids):
+ orders = self.browse(cr, uid, ids)
+ for order in orders:
+ if order.product_qty <= 0:
+ return False
+ return True
+
+ _constraints = [
+ (_check_qty, 'Order quantity cannot be negative or zero !', ['product_qty']),
+ ]
+
def unlink(self, cr, uid, ids, context=None):
productions = self.read(cr, uid, ids, ['state'])
unlink_ids = []