[FIX] Currency_id on purchase requisition + move created from procurement should...
authorJosse Colpaert <jco@odoo.com>
Tue, 14 Oct 2014 19:18:06 +0000 (21:18 +0200)
committerJosse Colpaert <jco@odoo.com>
Tue, 14 Oct 2014 21:19:15 +0000 (23:19 +0200)
[FIX] Other elements of purchase of purchase requisition

[IMP] Picking type on purchase requisition

[FIX] Location of purchase

addons/purchase_requisition/purchase_requisition.py
addons/stock/procurement.py

index 35a46ec..2c6c620 100644 (file)
@@ -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,
index 9ab4211..07024a2 100644 (file)
@@ -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,