From cdfb25dad5bb23a358efe72e72b95b52abec32aa Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Tue, 1 Aug 2023 14:17:53 +0000 Subject: [PATCH] [CLN] sale_loyalty_delivery: cleanup Unless necessary, super should be called first, delegeting ensure_one() and base logic to the base method. closes odoo/odoo#129572 Related: odoo/upgrade#4987 Signed-off-by: Victor Feyens (vfe) --- .../sale_loyalty_delivery/models/sale_order.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/addons/sale_loyalty_delivery/models/sale_order.py b/addons/sale_loyalty_delivery/models/sale_order.py index 822707cd220..baa937f7fd1 100644 --- a/addons/sale_loyalty_delivery/models/sale_order.py +++ b/addons/sale_loyalty_delivery/models/sale_order.py @@ -11,18 +11,19 @@ class SaleOrder(models.Model): # delivery overrides def _compute_amount_total_without_delivery(self): - self.ensure_one() - lines = self.order_line.filtered(lambda l: l.coupon_id and l.coupon_id.program_type in ['ewallet', 'gift_card']) - return super()._compute_amount_total_without_delivery() - sum(lines.mapped('price_unit')) + res = super()._compute_amount_total_without_delivery() + return res - sum( + self.order_line.filtered( + lambda l: l.coupon_id and l.coupon_id.program_type in ['ewallet', 'gift_card'] + ).mapped('price_unit') + ) # sale_loyalty overrides def _get_no_effect_on_threshold_lines(self): - self.ensure_one() - lines = self.order_line.filtered(lambda line:\ - line.is_delivery or\ - line.reward_id.reward_type == 'shipping') - return lines + super()._get_no_effect_on_threshold_lines() + res = super()._get_no_effect_on_threshold_lines() + return res + self.order_line.filtered( + lambda line: line.is_delivery or line.reward_id.reward_type == 'shipping') def _get_reward_values_free_shipping(self, reward, coupon, **kwargs): delivery_line = self.order_line.filtered(lambda l: l.is_delivery)