remove stock warning on mto product
authorjke-openerp <jke@openerp.com>
Mon, 7 Oct 2013 13:41:23 +0000 (15:41 +0200)
committerjke-openerp <jke@openerp.com>
Mon, 7 Oct 2013 13:41:23 +0000 (15:41 +0200)
bzr revid: jke@openerp.com-20131007134123-ukaif43i2dj7ms8a

addons/sale_stock/sale_stock.py

index 9f45bf0..0230fbf 100644 (file)
@@ -336,10 +336,21 @@ class sale_order_line(osv.osv):
         if not product:
             res['value'].update({'product_packaging': False})
             return res
-
+        
+                       
         #update of result obtained in super function
         product_obj = product_obj.browse(cr, uid, product, context=context)
         res['value']['delay'] = (product_obj.sale_delay or 0.0)
+        
+        isMto = False
+        for one_route in product_obj.route_ids:
+            if one_route.name == u'MTO':
+                isMto = True
+                break;        
+        
+        print("********** Is MTO ", isMto)
+        
+        
 
         #check if product is available, and if not: raise an error
         uom2 = False
@@ -355,7 +366,7 @@ class sale_order_line(osv.osv):
         res['value'].update(res_packing.get('value', {}))
         warning_msgs = res_packing.get('warning') and res_packing['warning']['message'] or ''
         compare_qty = float_compare(product_obj.virtual_available * uom2.factor, qty * product_obj.uom_id.factor, precision_rounding=product_obj.uom_id.rounding)
-        if (product_obj.type=='product') and int(compare_qty) == -1:
+        if (product_obj.type=='product') and int(compare_qty) == -1 and isMto == False:
           #and (product_obj.procure_method=='make_to_stock'): --> need to find alternative for procure_method
             warn_msg = _('You plan to sell %.2f %s but you only have %.2f %s available !\nThe real stock is %.2f %s. (without reservations)') % \
                     (qty, uom2 and uom2.name or product_obj.uom_id.name,