From 6b6135114484f8df12d1227758ff9aa45748cb71 Mon Sep 17 00:00:00 2001
From: Emanuel Buzey <buzeyemanuel@gmail.com>
Date: Wed, 18 Oct 2023 12:10:52 +0200
Subject: [PATCH] [REF] energy_selfconsumption: crete a wizard and contracts
 from activate method

---
 .../models/selfconsumption.py                 | 20 +++++++++----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/energy_selfconsumption/models/selfconsumption.py b/energy_selfconsumption/models/selfconsumption.py
index 39cb55d67..a3756881d 100644
--- a/energy_selfconsumption/models/selfconsumption.py
+++ b/energy_selfconsumption/models/selfconsumption.py
@@ -147,7 +147,7 @@ class Selfconsumption(models.Model):
         Activates the energy self-consumption project, performing various validations.
 
         This method checks for the presence of a valid code, CIL, and rated power
-        for the project. If all validations pass, it opens a wizard for generating
+        for the project. If all validations pass, it instances a wizard and generating
         contracts for the project.
 
         Note:
@@ -168,16 +168,14 @@ class Selfconsumption(models.Model):
                 raise ValidationError(_("Project must have a valid CIL."))
             if not record.power or record.power <= 0:
                 raise ValidationError(_("Project must have a valid Rated Power."))
-            return {
-                "name": _("Generate Contracts"),
-                "type": "ir.actions.act_window",
-                "view_mode": "form",
-                "res_model": "energy_selfconsumption.contract_generation.wizard",
-                "views": [(False, "form")],
-                "view_id": False,
-                "target": "new",
-                "context": {"default_selfconsumption_id": self.id},
-            }
+
+            # Create ContractGenerationWizard
+            contract_wizard = self.env[
+                "energy_selfconsumption.contract_generation.wizard"
+            ].create({"selfconsumption_id": self.id})
+
+            # Generate Contracts
+            contract_wizard.generate_contracts_button()
 
     def set_invoicing_mode(self):
         return {
-- 
GitLab