From 0e3fbebbeb0d2f27815392724579a1142486c5e7 Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 25 Feb 2022 11:44:34 +0100 Subject: [PATCH] [FIX+IMP] contract: Several things - Don't update recurring_next_date as computed - Compute recurring_next_date for False values too + simplify compute as False values are already taken into account In get_next_invoice_date, False values are already taken into account, so, simplifying compute_recurring_next_date function. - Add comment to remind updating method in next version --- contract/__manifest__.py | 2 +- contract/models/contract_line.py | 11 ++--------- contract/models/contract_recurrency_mixin.py | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/contract/__manifest__.py b/contract/__manifest__.py index 32cfba578..ae7e0c96d 100644 --- a/contract/__manifest__.py +++ b/contract/__manifest__.py @@ -11,7 +11,7 @@ { "name": "Recurring - Contracts Management", - "version": "15.0.1.1.1", + "version": "15.0.1.2.0", "category": "Contract Management", "license": "AGPL-3", "author": "Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)", diff --git a/contract/models/contract_line.py b/contract/models/contract_line.py index 3b10a1c26..7c6a2df61 100644 --- a/contract/models/contract_line.py +++ b/contract/models/contract_line.py @@ -605,19 +605,12 @@ class ContractLine(models.Model): return name def _update_recurring_next_date(self): + # FIXME: Change method name according to real updated field + # e.g.: _update_last_date_invoiced() for rec in self: last_date_invoiced = rec.next_period_date_end - recurring_next_date = rec.get_next_invoice_date( - last_date_invoiced + relativedelta(days=1), - rec.recurring_invoicing_type, - rec.recurring_invoicing_offset, - rec.recurring_rule_type, - rec.recurring_interval, - max_date_end=rec.date_end, - ) rec.write( { - "recurring_next_date": recurring_next_date, "last_date_invoiced": last_date_invoiced, } ) diff --git a/contract/models/contract_recurrency_mixin.py b/contract/models/contract_recurrency_mixin.py index ac6e4d71b..20dc0c507 100644 --- a/contract/models/contract_recurrency_mixin.py +++ b/contract/models/contract_recurrency_mixin.py @@ -93,7 +93,7 @@ class ContractRecurrencyMixin(models.AbstractModel): @api.depends("next_period_date_start") def _compute_recurring_next_date(self): - for rec in self.filtered("next_period_date_start"): + for rec in self: rec.recurring_next_date = self.get_next_invoice_date( rec.next_period_date_start, rec.recurring_invoicing_type,