From b889a23fda84bab4278f0da0f4ff141316fe6035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 26 Sep 2023 09:48:13 +0200 Subject: [PATCH] Return promotion unit price as None if it is evaluated to Null Closes #12591 --- modules/sale_promotion/sale.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/sale_promotion/sale.py b/modules/sale_promotion/sale.py index 0290f665ee..b67c5dc3c2 100644 --- a/modules/sale_promotion/sale.py +++ b/modules/sale_promotion/sale.py @@ -312,7 +312,11 @@ class Promotion( def get_unit_price(self, **context): 'Return unit price (as Decimal)' context.setdefault('functions', {})['Decimal'] = Decimal - return max(simple_eval(decistmt(self.formula), **context), Decimal(0)) + unit_price = simple_eval(decistmt(self.formula), **context) + unit_price = max(unit_price, Decimal(0)) + if isinstance(unit_price, Null): + unit_price = None + return unit_price class Promotion_Product(ModelSQL):