Browse Source

Merge PR #447 into 12.0

Signed-off-by sbejaoui
12.0
OCA-git-bot 5 years ago
parent
commit
f588b5c28b
  1. 15
      contract/models/contract_line.py
  2. 9
      contract/tests/test_contract.py

15
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):

9
contract/tests/test_contract.py

@ -2306,3 +2306,12 @@ class TestContract(TestContractBase):
self.assertTrue(self.acct_line.recurring_next_date)
self.acct_line.stop(self.acct_line.last_date_invoiced)
self.assertFalse(self.acct_line.recurring_next_date)
def test_check_last_date_invoiced_before_next_invoice_date(self):
with self.assertRaises(ValidationError):
self.acct_line.write({
'date_start': '2019-01-01',
'date_end': '2019-12-01',
'recurring_next_date': '2019-01-01',
'last_date_invoiced': '2019-06-01',
})
Loading…
Cancel
Save