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..b909f235b 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, } ) @@ -689,16 +682,19 @@ class ContractLine(models.Model): rec._prepare_value_for_stop(date_end, manual_renew_needed) ) if post_message: - msg = _( - """Contract line for %(product)s + msg = ( + _( + """Contract line for %(product)s stopped:
- End: %(old_end)s -- %(new_end)s """ - ) % { - "product": rec.name, - "old_end": old_date_end, - "new_end": rec.date_end, - } + ) + % { + "product": rec.name, + "old_end": old_date_end, + "new_end": rec.date_end, + } + ) rec.contract_id.message_post(body=msg) else: rec.write( @@ -763,18 +759,21 @@ class ContractLine(models.Model): rec.successor_contract_line_id = new_line contract_line |= new_line if post_message: - msg = _( - """Contract line for %(product)s + msg = ( + _( + """Contract line for %(product)s planned a successor:
- Start: %(new_date_start)s
- End: %(new_date_end)s """ - ) % { - "product": rec.name, - "new_date_start": new_line.date_start, - "new_date_end": new_line.date_end, - } + ) + % { + "product": rec.name, + "new_date_start": new_line.date_start, + "new_date_end": new_line.date_end, + } + ) rec.contract_id.message_post(body=msg) return contract_line @@ -866,18 +865,21 @@ class ContractLine(models.Model): is_auto_renew, post_message=False, ) - msg = _( - """Contract line for %(product)s + msg = ( + _( + """Contract line for %(product)s suspended:
- Suspension Start: %(new_date_start)s
- Suspension End: %(new_date_end)s """ - ) % { - "product": rec.name, - "new_date_start": date_start, - "new_date_end": date_end, - } + ) + % { + "product": rec.name, + "new_date_start": date_start, + "new_date_end": date_end, + } + ) rec.contract_id.message_post(body=msg) return contract_line @@ -1035,18 +1037,21 @@ class ContractLine(models.Model): else: new_line = rec._renew_extend_line(date_end) res |= new_line - msg = _( - """Contract line for %(product)s + msg = ( + _( + """Contract line for %(product)s renewed:
- Start: %(new_date_start)s
- End: %(new_date_end)s """ - ) % { - "product": rec.name, - "new_date_start": date_start, - "new_date_end": date_end, - } + ) + % { + "product": rec.name, + "new_date_start": date_start, + "new_date_end": date_end, + } + ) rec.contract_id.message_post(body=msg) return res 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,