From bbc9f70e351e81659df4b7268b3e091bcdab6e2c Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Sun, 14 Mar 2021 11:10:42 +0100 Subject: [PATCH] [13.0][FIX] contract_price_revision: Copy() does the job --- .../wizards/contract_price_revision.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/contract_price_revision/wizards/contract_price_revision.py b/contract_price_revision/wizards/contract_price_revision.py index 1a3185229..24060545f 100644 --- a/contract_price_revision/wizards/contract_price_revision.py +++ b/contract_price_revision/wizards/contract_price_revision.py @@ -58,19 +58,13 @@ class ContractPriceRevisionWizard(models.TransientModel): return self.date_start - relativedelta(days=1) def action_apply(self): - ContractLine = self.env["contract.line"] active_ids = self.env.context.get("active_ids") contracts = self.env["contract.contract"].browse(active_ids) for line in self._get_contract_lines_to_revise(contracts): date_end = self._get_old_line_date_end(line) line.stop(date_end) - # As copy or copy_data are trigerring constraints, don't use them - new_line = self.env["contract.line"].new(line._cache) + new_line = line.copy() new_line.update(self._get_new_line_value(line)) - # TODO: We need to recompute every stored values, so here is a - # workaround for now - new_line._compute_recurring_next_date() - new_line = ContractLine.create(new_line._convert_to_write(new_line._cache)) line.update({"successor_contract_line_id": new_line.id}) action = self.env["ir.actions.act_window"].for_xml_id( "contract", "action_customer_contract"