From c88f490d31ed9b5b5c2f4360ea654e1a2e2ff8cd Mon Sep 17 00:00:00 2001
From: daniquilez <dani.quilez@gmail.com>
Date: Wed, 12 Mar 2025 11:26:43 +0100
Subject: [PATCH] =?UTF-8?q?[REF]=20=E2=99=BB=EF=B8=8F=20Modify=20ref=5Finv?=
 =?UTF-8?q?oice=5Fid=20from=20system=20auto=5Finvoice=5Fid=20on=20account?=
 =?UTF-8?q?=5Fmove?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../models/account_move.py                    | 41 +++++++------------
 .../models/contract.py                        |  4 +-
 2 files changed, 16 insertions(+), 29 deletions(-)

diff --git a/energy_communities_service_invoicing/models/account_move.py b/energy_communities_service_invoicing/models/account_move.py
index fdfc3e71e..17adda591 100644
--- a/energy_communities_service_invoicing/models/account_move.py
+++ b/energy_communities_service_invoicing/models/account_move.py
@@ -7,20 +7,14 @@ class AccountMove(models.Model):
     _name = "account.move"
     _inherit = ["account.move", "pack.type.mixin"]
 
-    ref_invoice_id = fields.Many2one(
-        comodel_name="account.move",
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
-        compute_sudo=True,
-        store=False,
-    )
     related_contract_id = fields.Many2one(
         comodel_name="contract.contract",
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
+        compute="_compute_related_contract_id_is_contract",
         compute_sudo=True,
         store=False,
     )
     is_contract = fields.Boolean(
-        compute="_compute_ref_invoice_id_related_contract_id_is_contract",
+        compute="_compute_related_contract_id_is_contract",
         compute_sudo=True,
         store=True,
     )
@@ -31,24 +25,17 @@ class AccountMove(models.Model):
         domain="[('hierarchy_level','=','community')]",
     )
 
-    @api.depends("invoice_line_ids", "ref")
-    def _compute_ref_invoice_id_related_contract_id_is_contract(self):
+    @api.depends("invoice_line_ids", "auto_invoice_id")
+    def _compute_related_contract_id_is_contract(self):
         for record in self:
-            record.ref_invoice_id = False
             record.related_contract_id = False
             record.is_contract = False
-            rel_inv = False
-            if record.ref:
-                rel_inv = (
-                    self.env["account.move"]
-                    .sudo()
-                    .search([("name", "=", record.ref)], limit=1)
-                )
-                if rel_inv:
-                    record.ref_invoice_id = rel_inv.id
-                    record.is_contract = rel_inv.is_contract
-                    if rel_inv.related_contract_id:
-                        record.related_contract_id = rel_inv.related_contract_id.id
+            if record.auto_invoice_id:
+                record.is_contract = record.auto_invoice_id.is_contract
+                if record.auto_invoice_id.related_contract_id:
+                    record.related_contract_id = (
+                        record.auto_invoice_id.related_contract_id.id
+                    )
             else:
                 if record.invoice_line_ids:
                     first_move_line = record.invoice_line_ids[0]
@@ -57,13 +44,13 @@ class AccountMove(models.Model):
                         record.related_contract_id = rel_contract.id
                         record.is_contract = True
 
-    def custom_compute_pack_type(self):
-        self._set_custom_pack_type_on_invoice()
-
-    @api.depends("ref", "invoice_line_ids")
+    @api.depends("invoice_line_ids", "auto_invoice_id")
     def _compute_pack_type(self):
         super()._compute_pack_type()
 
+    def custom_compute_pack_type(self):
+        self._set_custom_pack_type_on_invoice()
+
     # define configuration intercompany journal
     def _prepare_invoice_data(self, dest_company):
         inv_data = super()._prepare_invoice_data(dest_company)
diff --git a/energy_communities_service_invoicing/models/contract.py b/energy_communities_service_invoicing/models/contract.py
index 78a27de59..bea8d71d3 100644
--- a/energy_communities_service_invoicing/models/contract.py
+++ b/energy_communities_service_invoicing/models/contract.py
@@ -274,8 +274,8 @@ class ContractContract(models.Model):
             ]
         )
         for invoice in all_received_invoices:
-            if invoice.sudo().ref_invoice_id:
-                if invoice.sudo().ref_invoice_id.id in issued_invoices:
+            if invoice.sudo().auto_invoice_id:
+                if invoice.sudo().auto_invoice_id.id in issued_invoices:
                     received_invoices.append(invoice.id)
         return received_invoices
 
-- 
GitLab