From 9e69cc3620d76531c13b247510cf97ab7e27990b Mon Sep 17 00:00:00 2001 From: sbejaoui Date: Wed, 28 Nov 2018 12:25:21 +0100 Subject: [PATCH] [FIX] - fix stop_plan_successor case 5 contract line start in the suspension period and end after it --- contract/models/contract_line.py | 10 ++-------- contract/tests/test_contract.py | 5 +++-- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/contract/models/contract_line.py b/contract/models/contract_line.py index 13e1b159..9d96ac4e 100644 --- a/contract/models/contract_line.py +++ b/contract/models/contract_line.py @@ -557,7 +557,7 @@ class AccountAnalyticInvoiceLine(models.Model): - suspension.date_start) * contract line start and end's in the suspension period -> apply delay - - delay: suspension.date_end - contract_line.end_date + - delay: suspension.date_end - contract_line.date_start * contract line start in the suspension period and end after it -> apply delay - delay: suspension.date_end - contract_line.date_start @@ -576,13 +576,7 @@ class AccountAnalyticInvoiceLine(models.Model): contract_line = self.env['account.analytic.invoice.line'] for rec in self: if rec.date_start >= date_start: - if rec.date_end and rec.date_end <= date_end: - delay = date_end - rec.date_end - elif ( - rec.date_end - and rec.date_end > date_end - or not rec.date_end - ) and rec.date_start <= date_end: + if rec.date_start < date_end: delay = date_end - rec.date_start else: delay = date_end - date_start diff --git a/contract/tests/test_contract.py b/contract/tests/test_contract.py index 6a7c626c..283e5c85 100644 --- a/contract/tests/test_contract.py +++ b/contract/tests/test_contract.py @@ -827,10 +827,11 @@ class TestContract(TestContractBase): suspension_start, suspension_end, True ) self.assertEqual( - self.acct_line.date_start, start_date + (suspension_end - end_date) + self.acct_line.date_start, + start_date + (suspension_end - start_date), ) self.assertEqual( - self.acct_line.date_end, end_date + (suspension_end - end_date) + self.acct_line.date_end, end_date + (suspension_end - start_date) ) new_line = self.env['account.analytic.invoice.line'].search( [('predecessor_contract_line_id', '=', self.acct_line.id)]