changeset 98034d452d8e in modules/sale_price_list:default
details: 
https://hg.tryton.org/modules/sale_price_list?cmd=changeset;node=98034d452d8e
description:
        Set company on sale price context to support product's cost price in 
formula

        issue8467
        review259771002
diffstat:

 sale.py |  12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diffs (23 lines):

diff -r 917784ba894d -r 98034d452d8e sale.py
--- a/sale.py   Mon Jul 08 18:43:25 2019 +0200
+++ b/sale.py   Mon Aug 19 18:46:34 2019 +0200
@@ -47,10 +47,16 @@
         super(SaleLine, cls).__setup__()
         cls.product.context['price_list'] = Eval(
             '_parent_sale', {}).get('price_list')
+        cls.product.context['company'] = Eval(
+            '_parent_sale', {}).get('company', None)
 
-    @fields.depends('sale', '_parent_sale.price_list')
+    @fields.depends('sale', '_parent_sale.price_list', '_parent_sale.company')
     def _get_context_sale_price(self):
         context = super(SaleLine, self)._get_context_sale_price()
-        if self.sale and getattr(self.sale, 'price_list', None):
-            context['price_list'] = self.sale.price_list.id
+        if self.sale:
+            if getattr(self.sale, 'price_list', None):
+                context['price_list'] = self.sale.price_list.id
+            # Ensure cost_price is for the one of the sale company
+            if getattr(self.sale, 'company', None):
+                context['company'] = self.sale.company.id
         return context

Reply via email to