[FIX] sale: fix no_variant price extra context propagation
Issue - Install Sales - Enable discounts & pricelists - Create a product - 2 variants: - first with "create variant" set to Always - second set to Never - Create a SO - Pricelist setting "without_discount" - Add the product with product configurator The line price is not correct (only Always taken in account) Cause When the variant has Create Variant set to Never we pass the extra money in the context. When we have a pricelist with "without_discount" this context is not propagated correctly and it's lost Solution Pass the product directly if it's not empty which have the context set. OPW-2246102 closes odoo/odoo#53216 X-original-commit: 68628206c5883adc614045706fcc2ea085efd252 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com> Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
This commit is contained in:
@@ -1544,7 +1544,7 @@ class SaleOrderLine(models.Model):
|
||||
return product.with_context(pricelist=self.order_id.pricelist_id.id).price
|
||||
product_context = dict(self.env.context, partner_id=self.order_id.partner_id.id, date=self.order_id.date_order, uom=self.product_uom.id)
|
||||
|
||||
final_price, rule_id = self.order_id.pricelist_id.with_context(product_context).get_product_price_rule(self.product_id, self.product_uom_qty or 1.0, self.order_id.partner_id)
|
||||
final_price, rule_id = self.order_id.pricelist_id.with_context(product_context).get_product_price_rule(product or self.product_id, self.product_uom_qty or 1.0, self.order_id.partner_id)
|
||||
base_price, currency = self.with_context(product_context)._get_real_price_currency(product, rule_id, self.product_uom_qty, self.product_uom, self.order_id.pricelist_id.id)
|
||||
if currency != self.order_id.pricelist_id.currency_id:
|
||||
base_price = currency._convert(
|
||||
|
||||
Reference in New Issue
Block a user