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,