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:

Reply via email to