From 51fb0728d950efe5525868983955e39d3a4c4f83 Mon Sep 17 00:00:00 2001 From: Emanuel Buzey <buzeyemanuel@gmail.com> Date: Wed, 25 Oct 2023 22:44:15 +0200 Subject: [PATCH] [FIX] energy_selfconsumption: update contract fields with _onchange_contract_template_id --- .../wizards/contract_generation_wizard.py | 37 +++---------------- .../wizards/define_invoicing_mode_wizard.py | 1 + 2 files changed, 6 insertions(+), 32 deletions(-) diff --git a/energy_selfconsumption/wizards/contract_generation_wizard.py b/energy_selfconsumption/wizards/contract_generation_wizard.py index 10204acbf..bb8933a70 100644 --- a/energy_selfconsumption/wizards/contract_generation_wizard.py +++ b/energy_selfconsumption/wizards/contract_generation_wizard.py @@ -48,31 +48,7 @@ class ContractGenerationWizard(models.TransientModel): # Create contracts for supply_point_assignation in distribution_id.supply_point_assignation_ids: - contract_lines = [ - ( - 0, - 0, - { - "product_id": product_id.id, - "automatic_price": True, - "company_id": self.env.company.id, - "qty_type": "variable", - "qty_formula_id": formula_contract_id.id, - "name": _( - """CUPS: %s - Owner: %s - Invoicing period: #START# - #END#""" - ) - % ( - supply_point_assignation.supply_point_id.code, - supply_point_assignation.supply_point_id.owner_id.display_name, - ), - "supply_point_assignation_id": supply_point_assignation.id, - }, - ) - ] - - self.env["contract.contract"].create( + contract = self.env["contract.contract"].create( { "name": _("Contract - %s - %s") % ( @@ -80,18 +56,15 @@ class ContractGenerationWizard(models.TransientModel): supply_point_assignation.supply_point_id.partner_id.name, ), "partner_id": supply_point_assignation.supply_point_id.partner_id.id, - "invoice_partner_id": supply_point_assignation.supply_point_id.partner_id.id, + "journal_id": journal_id.id, + "recurring_interval": self.selfconsumption_id.product_id.contract_template_id.recurring_interval, + "recurring_rule_type": self.selfconsumption_id.product_id.contract_template_id.recurring_rule_type, "recurring_invoicing_type": "post-paid", "date_start": fields.date.today(), - "company_id": self.env.company.id, - "contract_line_ids": contract_lines, - "project_id": self.selfconsumption_id.project_id.id, "contract_template_id": self.selfconsumption_id.product_id.contract_template_id.id, - "recurring_interval": self.selfconsumption_id.product_id.contract_template_id.recurring_interval, - "recurring_rule_type": self.selfconsumption_id.product_id.contract_template_id.recurring_rule_type, } ) - + contract._onchange_contract_template_id() # Update selfconsumption and distribution_table state self.selfconsumption_id.write({"state": "active"}) self.selfconsumption_id.distribution_table_state("process", "active") diff --git a/energy_selfconsumption/wizards/define_invoicing_mode_wizard.py b/energy_selfconsumption/wizards/define_invoicing_mode_wizard.py index 93bbe2a1a..b6e87f368 100644 --- a/energy_selfconsumption/wizards/define_invoicing_mode_wizard.py +++ b/energy_selfconsumption/wizards/define_invoicing_mode_wizard.py @@ -79,6 +79,7 @@ class ContractGenerationWizard(models.TransientModel): "contract_line_ids": contract_line, "recurring_interval": self.recurrence_interval, "recurring_rule_type": self.recurring_rule_type, + "recurring_invoicing_type": "post-paid", } def save_data_to_selfconsumption(self): -- GitLab