From 2e6ecd011039a664ea07da5da218cf1e37fef5ea Mon Sep 17 00:00:00 2001 From: Sergi Almacellas Abellana Date: Mon, 19 Aug 2019 18:46:34 +0200 Subject: [PATCH] Set company on sale price context to support product's cost price in formula issue8467 review259771002 --- sale.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sale.py b/sale.py index b2743a5ad9..6e8f8ac231 100644 --- a/sale.py +++ b/sale.py @@ -47,10 +47,16 @@ class SaleLine(metaclass=PoolMeta): 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