[14.0][IMP] contract: Don't set recurrence field for recurring_next_date as full computed

This commit is contained in:
Denis Roussel
2022-06-17 10:11:06 +02:00
parent b358e36739
commit c1a0f02ac3
2 changed files with 4 additions and 5 deletions

View File

@@ -162,11 +162,6 @@ class ContractAbstractContractLine(models.AbstractModel):
def _compute_date_start(self):
self._set_recurrence_field("date_start")
@api.depends("contract_id.recurring_next_date", "contract_id.line_recurrence")
def _compute_recurring_next_date(self):
super()._compute_recurring_next_date()
self._set_recurrence_field("recurring_next_date")
@api.depends("display_type", "note_invoicing_mode")
def _compute_is_recurring_note(self):
for record in self:

View File

@@ -314,6 +314,8 @@ class ContractContract(models.Model):
"contract_line_ids.is_canceled",
)
def _compute_recurring_next_date(self):
# Compute the recurring_next_date on the contract based on the one
# defined on line level.
for contract in self:
recurring_next_date = contract.contract_line_ids.filtered(
lambda l: (
@@ -322,6 +324,8 @@ class ContractContract(models.Model):
and (not l.display_type or l.is_recurring_note)
)
).mapped("recurring_next_date")
# Take the earliest or set it as False if contract is stopped
# (no recurring_next_date).
contract.recurring_next_date = (
min(recurring_next_date) if recurring_next_date else False
)