changeset 95bb2b6d9ef0 in modules/carrier:default
details: https://hg.tryton.org/modules/carrier?cmd=changeset&node=95bb2b6d9ef0
description:
        Use the instance context to get carrier prices

        issue10666
        review358661002
diffstat:

 carrier.py |  18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diffs (34 lines):

diff -r 86e70bfc9bc3 -r 95bb2b6d9ef0 carrier.py
--- a/carrier.py        Wed Jul 07 00:46:17 2021 +0200
+++ b/carrier.py        Fri Aug 27 08:48:34 2021 +0200
@@ -44,18 +44,24 @@
 
     def get_sale_price(self):
         'Compute carrier sale price with currency'
-        User = Pool().get('res.user')
+        pool = Pool()
+        Company = pool.get('company.company')
         if self.carrier_cost_method == 'product':
-            user = User(Transaction().user)
-            return self.carrier_product.list_price, user.company.currency.id
+            list_price = self.carrier_product.list_price_used
+            if list_price is not None:
+                company = Company(self.carrier_product._context['company'])
+                return list_price, company.currency.id
         return 0, None
 
     def get_purchase_price(self):
         'Compute carrier purchase price with currency'
-        User = Pool().get('res.user')
+        pool = Pool()
+        Company = pool.get('company.company')
         if self.carrier_cost_method == 'product':
-            user = User(Transaction().user)
-            return self.carrier_product.cost_price, user.company.currency.id
+            cost_price = self.carrier_product.cost_price
+            if cost_price is not None:
+                company = Company(self.carrier_product._context['company'])
+                return cost_price, company.currency.id
         return 0, None
 
     @classmethod

Reply via email to