diff --git a/energy_selfconsumption/models/product.py b/energy_selfconsumption/models/product.py index 6fd8ae3dc5905a684f9fd6e2e47bc9e73b05a000..53e3119dc653dbdb6bbcb7c995a8ddcf980ebeff 100644 --- a/energy_selfconsumption/models/product.py +++ b/energy_selfconsumption/models/product.py @@ -11,3 +11,4 @@ class Product(models.Model): string="Energy Project", check_company=True, ) + contract_template_id = fields.Many2one("contract.template") diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py index 12713e770f620023118287bbc329cb70fdfaf780..8e7aafda9c14f2db366c0d2ab927a1f3abcaea0b 100644 --- a/energy_selfconsumption/models/selfconsumption.py +++ b/energy_selfconsumption/models/selfconsumption.py @@ -87,7 +87,11 @@ class Selfconsumption(models.Model): contracts_count = fields.Integer(compute=_compute_contract_count) invoicing_mode = fields.Selection(INVOICING_VALUES, string="Invoicing Mode") product_id = fields.Many2one("product.product", string="Product") - contract_template_id = fields.Many2one("contract.template") + contract_template_id = fields.Many2one( + "contract.template", + string="Contract Template", + related="product_id.contract_template_id", + ) def get_distribution_tables(self): self.ensure_one() diff --git a/energy_selfconsumption/wizards/contract_generation_wizard.py b/energy_selfconsumption/wizards/contract_generation_wizard.py index 2895b676457e6d6af32a6d57d8864bb73488c6fc..10204acbf12621b99896f111de2ef984304425b3 100644 --- a/energy_selfconsumption/wizards/contract_generation_wizard.py +++ b/energy_selfconsumption/wizards/contract_generation_wizard.py @@ -27,7 +27,7 @@ class ContractGenerationWizard(models.TransientModel): product_id = self.selfconsumption_id.product_id formula_contract_id = ( - self.selfconsumption_id.contract_template_id.contract_line_ids.qty_formula_id + self.selfconsumption_id.product_id.contract_template_id.contract_line_ids.qty_formula_id ) # Search accounting journal @@ -86,9 +86,9 @@ class ContractGenerationWizard(models.TransientModel): "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.contract_template_id.id, - "recurring_interval": self.selfconsumption_id.contract_template_id.recurring_interval, - "recurring_rule_type": self.selfconsumption_id.contract_template_id.recurring_rule_type, + "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, } )