[FIX] cancelling a procurement with stacked purchase now decrease the quantity on the purchase line instead of cancelling it

bzr revid: qdp-launchpad@openerp.com-20140328102934-2qhryl2hkwodrbpv
This commit is contained in:
Quentin (OpenERP) 2014-03-28 11:29:34 +01:00
parent 18dc2ee653
commit 23293e2b03
1 changed files with 5 additions and 1 deletions

View File

@ -1132,7 +1132,11 @@ class procurement_order(osv.osv):
def propagate_cancel(self, cr, uid, procurement, context=None):
if procurement.rule_id.action == 'buy' and procurement.purchase_line_id:
self.pool.get('purchase.order.line').action_cancel(cr, uid, [procurement.purchase_line_id.id], context=context)
purchase_line_obj = self.pool.get('purchase.order.line')
if procurement.purchase_line_id.product_qty <= procurement.product_qty:
purchase_line_obj.action_cancel(cr, uid, [procurement.purchase_line_id.id], context=context)
else:
purchase_line_obj.write(cr, uid, [procurement.purchase_line_id.id], {'product_qty': procurement.pruchase_line_id.product_qty - procurement.product_qty}, context=context)
return super(procurement_order, self).propagate_cancel(cr, uid, procurement, context=context)
def _run(self, cr, uid, procurement, context=None):