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