From a0d9fa2c99f8fa6a3a6513a3dc24a37cdf108655 Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Sat, 21 Dec 2019 14:11:43 +0100 Subject: [PATCH] [12.0][FIX] - raise an error when next invoice date before the last date invoiced --- contract/models/contract_line.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/contract/models/contract_line.py b/contract/models/contract_line.py index c9d475bde..94ffb08cd 100644 --- a/contract/models/contract_line.py +++ b/contract/models/contract_line.py @@ -569,7 +569,9 @@ class ContractLine(models.Model): % line.name ) - @api.constrains('date_start', 'date_end', 'last_date_invoiced') + @api.constrains( + 'date_start', 'date_end', 'last_date_invoiced', 'recurring_next_date' + ) def _check_last_date_invoiced(self): for rec in self.filtered('last_date_invoiced'): if rec.date_start and rec.date_start > rec.last_date_invoiced: @@ -588,6 +590,17 @@ class ContractLine(models.Model): ) % rec.name ) + if ( + rec.recurring_next_date + and rec.recurring_next_date <= rec.last_date_invoiced + ): + raise ValidationError( + _( + "You can't have the next invoice date before the date " + "of last invoice for the contract line '%s'" + ) + % rec.name + ) @api.constrains('recurring_next_date') def _check_recurring_next_date_recurring_invoices(self):