changeset 062066d94eac in modules/purchase:default details: https://hg.tryton.org/modules/purchase?cmd=changeset;node=062066d94eac description: Set company context in product instance
This ensures that the correct value for field depending on the company from product is used. issue8690 review252281002 diffstat: product.py | 2 +- purchase.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diffs (45 lines): diff -r 727e48ca3532 -r 062066d94eac product.py --- a/product.py Mon Sep 30 09:39:27 2019 +0200 +++ b/product.py Tue Oct 01 22:23:55 2019 +0200 @@ -152,7 +152,7 @@ user = User(Transaction().user) for product in products: - prices[product.id] = product.cost_price + prices[product.id] = product.get_multivalue('cost_price') default_uom = product.default_uom default_currency = (user.company.currency if user.company else None) diff -r 727e48ca3532 -r 062066d94eac purchase.py --- a/purchase.py Mon Sep 30 09:39:27 2019 +0200 +++ b/purchase.py Tue Oct 01 22:23:55 2019 +0200 @@ -975,6 +975,8 @@ 'purchase_date'), 'stock_skip_warehouse': True, # From _get_context_purchase_price + 'company': Eval( + '_parent_purchase', {}).get('company', None), 'currency': Eval('_parent_purchase', {}).get('currency'), 'supplier': Eval('_parent_purchase', {}).get('party'), 'purchase_date': Eval('_parent_purchase', {}).get('purchase_date'), @@ -1140,8 +1142,9 @@ ''' return {} - @fields.depends('purchase', '_parent_purchase.currency', - '_parent_purchase.party', '_parent_purchase.purchase_date', + @fields.depends( + 'purchase', '_parent_purchase.currency', '_parent_purchase.party', + '_parent_purchase.purchase_date', '_parent_purchase.company', 'unit', 'product', 'product_supplier', 'taxes') def _get_context_purchase_price(self): context = {} @@ -1151,6 +1154,8 @@ if self.purchase.party: context['supplier'] = self.purchase.party.id context['purchase_date'] = self.purchase.purchase_date + if self.purchase.company: + context['company'] = self.purchase.company.id if self.unit: context['uom'] = self.unit.id elif self.product: