From 26cb72d1046d16be6c088bcd4fcea991deb1318f Mon Sep 17 00:00:00 2001 From: Josse Colpaert Date: Tue, 14 Oct 2014 21:18:06 +0200 Subject: [PATCH] [FIX] Currency_id on purchase requisition + move created from procurement should go to location of procurement not of rule (procurement location can be child of rule location. In handy for customer locations) [FIX] Other elements of purchase of purchase requisition [IMP] Picking type on purchase requisition [FIX] Location of purchase --- addons/purchase_requisition/purchase_requisition.py | 11 ++++++----- addons/stock/procurement.py | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/purchase_requisition/purchase_requisition.py b/addons/purchase_requisition/purchase_requisition.py index 35a46ecbcab..2c6c620d543 100644 --- a/addons/purchase_requisition/purchase_requisition.py +++ b/addons/purchase_requisition/purchase_requisition.py @@ -132,19 +132,19 @@ class purchase_requisition(osv.osv): return res def _prepare_purchase_order(self, cr, uid, requisition, supplier, context=None): - supplier_pricelist = supplier.property_product_pricelist_purchase and supplier.property_product_pricelist_purchase.id or False - picking_type_in = self.pool.get("purchase.order")._get_picking_in(cr, uid, context=context) + supplier_pricelist = supplier.property_product_pricelist_purchase return { 'origin': requisition.name, 'date_order': requisition.date_end or fields.datetime.now(), 'partner_id': supplier.id, - 'pricelist_id': supplier_pricelist, - 'location_id': requisition.picking_type_id.default_location_dest_id.id, + 'pricelist_id': supplier_pricelist.id, + 'currency_id': supplier_pricelist and supplier_pricelist.currency_id.id or requisition.company_id.currency_id.id, + 'location_id': requisition.procurement_id and requisition.procurement_id.location_id.id or requisition.picking_type_id.default_location_dest_id.id, 'company_id': requisition.company_id.id, 'fiscal_position': supplier.property_account_position and supplier.property_account_position.id or False, 'requisition_id': requisition.id, 'notes': requisition.description, - 'picking_type_id': picking_type_in, + 'picking_type_id': requisition.picking_type_id.id } def _prepare_purchase_order_line(self, cr, uid, requisition, requisition_line, purchase_id, supplier, context=None): @@ -404,6 +404,7 @@ class procurement_order(osv.osv): 'warehouse_id': warehouse_id and warehouse_id[0] or False, 'company_id': procurement.company_id.id, 'procurement_id': procurement.id, + 'picking_type_id': procurement.rule_id.picking_type_id.id, 'line_ids': [(0, 0, { 'product_id': procurement.product_id.id, 'product_uom_id': procurement.product_uom.id, diff --git a/addons/stock/procurement.py b/addons/stock/procurement.py index 9ab42114f25..07024a2529e 100644 --- a/addons/stock/procurement.py +++ b/addons/stock/procurement.py @@ -176,7 +176,7 @@ class procurement_order(osv.osv): 'product_uos': (procurement.product_uos and procurement.product_uos.id) or procurement.product_uom.id, 'partner_id': procurement.rule_id.partner_address_id.id or (procurement.group_id and procurement.group_id.partner_id.id) or False, 'location_id': procurement.rule_id.location_src_id.id, - 'location_dest_id': procurement.rule_id.location_id.id, + 'location_dest_id': procurement.location_id.id, 'move_dest_id': procurement.move_dest_id and procurement.move_dest_id.id or False, 'procurement_id': procurement.id, 'rule_id': procurement.rule_id.id,