[12.0][FIX] - stop update recurring_next_date

This commit is contained in:
sbejaoui
2019-12-19 12:55:50 +01:00
parent 75372cfcda
commit 33ccf301f6

View File

@@ -540,7 +540,7 @@ class ContractLine(models.Model):
def _onchange_date_start(self): def _onchange_date_start(self):
for rec in self.filtered('date_start'): for rec in self.filtered('date_start'):
rec.recurring_next_date = self.get_next_invoice_date( rec.recurring_next_date = self.get_next_invoice_date(
rec.date_start, rec.next_period_date_start,
rec.recurring_invoicing_type, rec.recurring_invoicing_type,
rec.recurring_invoicing_offset, rec.recurring_invoicing_offset,
rec.recurring_rule_type, rec.recurring_rule_type,
@@ -808,6 +808,23 @@ class ContractLine(models.Model):
"recurring_next_date": new_recurring_next_date, "recurring_next_date": new_recurring_next_date,
}) })
@api.multi
def _prepare_value_for_stop(self, date_end, manual_renew_needed):
self.ensure_one()
return {
'date_end': date_end,
'is_auto_renew': False,
'manual_renew_needed': manual_renew_needed,
'recurring_next_date': self.get_next_invoice_date(
self.next_period_date_start,
self.recurring_invoicing_type,
self.recurring_invoicing_offset,
self.recurring_rule_type,
self.recurring_interval,
max_date_end=date_end,
),
}
@api.multi @api.multi
def stop(self, date_end, manual_renew_needed=False, post_message=True): def stop(self, date_end, manual_renew_needed=False, post_message=True):
""" """
@@ -824,14 +841,11 @@ class ContractLine(models.Model):
else: else:
if not rec.date_end or rec.date_end > date_end: if not rec.date_end or rec.date_end > date_end:
old_date_end = rec.date_end old_date_end = rec.date_end
values = { rec.write(
'date_end': date_end, rec._prepare_value_for_stop(
'is_auto_renew': False, date_end, manual_renew_needed
'manual_renew_needed': manual_renew_needed, )
} )
if rec.last_date_invoiced == date_end:
values['recurring_next_date'] = False
rec.write(values)
if post_message: if post_message:
msg = _( msg = _(
"""Contract line for <strong>{product}</strong> """Contract line for <strong>{product}</strong>