[FIX] purchase: cancellation of procurement linked to a purchase order line should only decrease quantity for PO in draft state + typo

bzr revid: qdp-launchpad@openerp.com-20140328134308-puycr1vf32l13mpu
This commit is contained in:
Quentin (OpenERP) 2014-03-28 14:43:08 +01:00
parent a1b737aa86
commit d381fd5d33
1 changed files with 4 additions and 4 deletions

View File

@ -1133,12 +1133,12 @@ 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:
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)
if procurement.purchase_line_id.product_qty > procurement.product_qty and procurement.purchase_line_id.order_id.state == 'draft':
purchase_line_obj.write(cr, uid, [procurement.purchase_line_id.id], {'product_qty': procurement.purchase_line_id.product_qty - procurement.product_qty}, 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)
purchase_line_obj.action_cancel(cr, uid, [procurement.purchase_line_id.id], context=context)
return super(procurement_order, self).propagate_cancel(cr, uid, procurement, context=context)
def _run(self, cr, uid, procurement, context=None):
if procurement.rule_id and procurement.rule_id.action == 'buy':
#make a purchase order for the procurement