changeset 02be5467be12 in modules/account_invoice:default
details:
https://hg.tryton.org/modules/account_invoice?cmd=changeset&node=02be5467be12
description:
Warn all past payment terms at the same time
issue11058
review376221002
diffstat:
invoice.py | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diffs (37 lines):
diff -r 44c2a67ad783 -r 02be5467be12 invoice.py
--- a/invoice.py Sun Jan 23 12:54:56 2022 +0100
+++ b/invoice.py Tue Jan 25 23:30:35 2022 +0100
@@ -1034,21 +1034,23 @@
remainder_total_currency = self.total_amount.copy_sign(total)
else:
remainder_total_currency = 0
+ past_payment_term_dates = []
for date, amount in term_lines:
- if self.type == 'out' and date < today:
- lang = Lang.get()
- warning_key = Warning.format('invoice_payment_term', [self])
- if Warning.check(warning_key):
- raise InvoicePaymentTermDateWarning(warning_key,
- gettext('account_invoice'
- '.msg_invoice_payment_term_date_past',
- invoice=self.rec_name,
- date=lang.strftime(date)))
-
line = self._get_move_line(date, amount)
if line.amount_second_currency:
remainder_total_currency += line.amount_second_currency
move_lines.append(line)
+ if self.type == 'out' and date < today:
+ past_payment_term_dates.append(date)
+ if any(past_payment_term_dates):
+ lang = Lang.get()
+ warning_key = Warning.format('invoice_payment_term', [self])
+ if Warning.check(warning_key):
+ raise InvoicePaymentTermDateWarning(warning_key,
+ gettext('account_invoice'
+ '.msg_invoice_payment_term_date_past',
+ invoice=self.rec_name,
+ date=lang.strftime(min(past_payment_term_dates))))
if not self.currency.is_zero(remainder_total_currency):
move_lines[-1].amount_second_currency -= \
remainder_total_currency