diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index f530e529477..3e641aca355 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -616,6 +616,8 @@ class purchase_order(osv.osv): _('You must first cancel all receptions related to this purchase order.')) if inv: wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr) + self.write(cr,uid,ids,{'state':'cancel'}) + self.set_order_line_status(cr, uid, ids, 'cancel', context=context) for (id, name) in self.name_get(cr, uid, ids): wf_service.trg_validate(uid, 'purchase.order', id, 'purchase_cancel', cr) return True diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index e61a7fc9f8a..bb95639b5ac 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -159,6 +159,7 @@ class purchase_requisition(osv.osv): def _prepare_purchase_order(self, cr, uid, requisition, supplier, context=None): location_id = requisition.warehouse_id.lot_input_id.id + supplier_pricelist = supplier.property_product_pricelist_purchase or False return { 'origin': requisition.name, 'partner_id': supplier.id, @@ -198,7 +199,6 @@ class purchase_requisition(osv.osv): res_partner = self.pool.get('res.partner') fiscal_position = self.pool.get('account.fiscal.position') supplier = res_partner.browse(cr, uid, partner_id, context=context) - supplier_pricelist = supplier.property_product_pricelist_purchase or False res = {} for requisition in self.browse(cr, uid, ids, context=context): if not requisition.multiple_rfq_per_supplier and supplier.id in filter(lambda x: x, [rfq.state <> 'cancel' and rfq.partner_id.id or None for rfq in requisition.purchase_ids]):