From 4ae385e06c2654985f3c03eba1a9f177b1689f5e Mon Sep 17 00:00:00 2001 From: vava-odoo Date: Thu, 23 Nov 2023 13:31:34 +0100 Subject: [PATCH] [FIX] sale_loyalty: prevent partial rewards with points Since odoo/odoo@b3a2fb51bc48b83, it is not possible to use partial points rewards. However this commit only fixes the behavior for loyalty cards, where it should be applied to many other program types. closes odoo/odoo#143643 X-original-commit: 64ebec5c7db88c247f3dafbeecbd2ae2b9ee4238 Signed-off-by: Vallaeys Valentin (vava) --- addons/sale_loyalty/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale_loyalty/models/sale_order.py b/addons/sale_loyalty/models/sale_order.py index fd7e8e17cc7..7c71fa8cbfa 100644 --- a/addons/sale_loyalty/models/sale_order.py +++ b/addons/sale_loyalty/models/sale_order.py @@ -324,7 +324,7 @@ class SaleOrder(models.Model): max_discount = min(self.amount_total, max_discount) if reward.discount_mode == 'per_point': points = self._get_real_points_for_coupon(coupon) - if reward.program_type == 'loyalty': + if not reward.program_id.is_payment_program: # Rewards cannot be partially offered to customers points = points // reward.required_points * reward.required_points max_discount = min(max_discount,