From 965b57de5bbc99ac8d1f5cad5ae6113052b2fd78 Mon Sep 17 00:00:00 2001 From: "matteo.tognini" Date: Tue, 14 Nov 2023 15:51:53 +0100 Subject: [PATCH] [FIX]account_invoice_triple_discount: for in invoice_line_ids or line_ids --- .../models/account_move.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/account_invoice_triple_discount/models/account_move.py b/account_invoice_triple_discount/models/account_move.py index 20042c73161..9f7c54a6d97 100644 --- a/account_invoice_triple_discount/models/account_move.py +++ b/account_invoice_triple_discount/models/account_move.py @@ -16,9 +16,10 @@ def _recompute_tax_lines(self, **kwargs): restored after the original process is done """ old_values_by_line_id = {} - digits = self.invoice_line_ids._fields["price_unit"]._digits - self.invoice_line_ids._fields["price_unit"]._digits = (16, 16) - for line in self.invoice_line_ids: + lines = self.invoice_line_ids or self.line_ids + digits = lines._fields["price_unit"]._digits + lines._fields["price_unit"]._digits = (16, 16) + for line in lines: aggregated_discount = line._compute_aggregated_discount(line.discount) old_values_by_line_id[line.id] = { "price_unit": line.price_unit, @@ -26,9 +27,9 @@ def _recompute_tax_lines(self, **kwargs): } price_unit = line.price_unit * (1 - aggregated_discount / 100) line.update({"price_unit": price_unit, "discount": 0}) - self.invoice_line_ids._fields["price_unit"]._digits = digits + lines._fields["price_unit"]._digits = digits res = super(AccountMove, self)._recompute_tax_lines(**kwargs) - for line in self.invoice_line_ids: + for line in lines: if line.id not in old_values_by_line_id: continue line.update(old_values_by_line_id[line.id]) @@ -36,9 +37,7 @@ def _recompute_tax_lines(self, **kwargs): def _has_discount(self): self.ensure_one() + lines = self.invoice_line_ids or self.line_ids return any( - [ - line._compute_aggregated_discount(line.discount) > 0 - for line in self.invoice_line_ids - ] + [line._compute_aggregated_discount(line.discount) > 0 for line in lines] )