Warn all past payment terms at the same time

issue11058
review376221002
(grafted from 02be5467be12c4fabc75e31f3977faabe8155259)

--HG--
branch : 6.0
This commit is contained in:
Adrià Tarroja Caubet committed 2022-01-25 23:30:35 +01:00
1 parent 8aec3ccf39
commit 320294e14e
1 file changed
+12 -10
+12 -10
View File
@@ -996,21 +996,23 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin):
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 = 'invoice_payment_term_%d' % self.id
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 = 'invoice_payment_term_%d' % self.id
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