Skip to content

Commit

Permalink
Merge PR #1605 into 14.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Nov 24, 2023
2 parents 012166d + 965b57d commit 7c880da
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions account_invoice_triple_discount/models/account_move.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,28 @@ 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,
"discount": line.discount,
}
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])
return res

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]
)

0 comments on commit 7c880da

Please sign in to comment.