[REF] - predecessor_contract_line set in create process

This commit is contained in:
sbejaoui
2019-01-15 13:37:17 +01:00
committed by Denis Roussel
parent 0d4c9a9445
commit 8c618c9cd4

View File

@@ -101,7 +101,9 @@ class SaleOrderLine(models.Model):
) )
@api.multi @api.multi
def _prepare_contract_line_values(self, contract): def _prepare_contract_line_values(
self, contract, predecessor_contract_line
):
self.ensure_one() self.ensure_one()
recurring_next_date = self.env[ recurring_next_date = self.env[
'account.analytic.invoice.line' 'account.analytic.invoice.line'
@@ -138,6 +140,7 @@ class SaleOrderLine(models.Model):
'termination_notice_rule_type': termination_notice_rule_type, 'termination_notice_rule_type': termination_notice_rule_type,
'contract_id': contract.id, 'contract_id': contract.id,
'sale_order_line_id': self.id, 'sale_order_line_id': self.id,
'predecessor_contract_line_id': predecessor_contract_line.id,
} }
@api.multi @api.multi
@@ -145,20 +148,19 @@ class SaleOrderLine(models.Model):
contract_line_env = self.env['account.analytic.invoice.line'] contract_line_env = self.env['account.analytic.invoice.line']
contract_line = self.env['account.analytic.invoice.line'] contract_line = self.env['account.analytic.invoice.line']
for rec in self: for rec in self:
new_contract_line = contract_line_env.create(
rec._prepare_contract_line_values(contract)
)
contract_line |= new_contract_line
if rec.contract_line_id: if rec.contract_line_id:
rec.contract_line_id.stop( rec.contract_line_id.stop(
rec.date_start - relativedelta(days=1) rec.date_start - relativedelta(days=1)
) )
new_contract_line = contract_line_env.create(
rec._prepare_contract_line_values(contract,
rec.contract_line_id)
)
if rec.contract_line_id:
rec.contract_line_id.successor_contract_line_id = ( rec.contract_line_id.successor_contract_line_id = (
new_contract_line new_contract_line
) )
new_contract_line.predecessor_contract_line_id = ( contract_line |= new_contract_line
self.contract_line_id.id
)
return contract_line return contract_line
@api.constrains('contract_id') @api.constrains('contract_id')