[FIX] purchase: don't alter caller's context
authorNumerigraphe - Lionel Sausin <ls@numerigraphe.fr>
Wed, 22 Feb 2012 13:18:49 +0000 (14:18 +0100)
committerNumerigraphe - Lionel Sausin <ls@numerigraphe.fr>
Wed, 22 Feb 2012 13:18:49 +0000 (14:18 +0100)
bzr revid: ls@numerigraphe.fr-20120222131849-42mv2m6mfdb41miw

addons/purchase/purchase.py

index a313593..9cb11ac 100644 (file)
@@ -903,9 +903,10 @@ class procurement_order(osv.osv):
             purchase_date = self._get_purchase_order_date(cr, uid, procurement, company, schedule_date, context=context)
 
             #Passing partner_id to context for purchase order line integrity of Line name
-            context.update({'lang': partner.lang, 'partner_id': partner_id})
+            new_context = context.copy()
+            new_context.update({'lang': partner.lang, 'partner_id': partner_id})
 
-            product = prod_obj.browse(cr, uid, procurement.product_id.id, context=context)
+            product = prod_obj.browse(cr, uid, procurement.product_id.id, context=new_context)
             taxes_ids = procurement.product_id.product_tmpl_id.supplier_taxes_id
             taxes = acc_pos_obj.map_tax(cr, uid, partner.property_account_position, taxes_ids)
 
@@ -933,7 +934,7 @@ class procurement_order(osv.osv):
                 'company_id': procurement.company_id.id,
                 'fiscal_position': partner.property_account_position and partner.property_account_position.id or False
             }
-            res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line_vals, context=context)
+            res[procurement.id] = self.create_procurement_purchase_order(cr, uid, procurement, po_vals, line_vals, context=new_context)
             self.write(cr, uid, [procurement.id], {'state': 'running', 'purchase_id': res[procurement.id]})
         return res