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