From bdc5f465aaae022d19ca39fde67ad1f1c19f1fc7 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Mon, 3 Mar 2025 21:18:02 +0100 Subject: [PATCH] [FIX] l10n_es_partner: Inject _rec_names_search properly Previous patch was overriding _auto_init method for injecting the comercial field in the list of fields to search for (_rec_names_search), but this method is only called on module installation/update, so if you restart the Odoo server after that, you lose the injection. Thus, let's inject it if not present when calling name_search, and this way we always have it available. TT55241 --- l10n_es_partner/models/res_partner.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/l10n_es_partner/models/res_partner.py b/l10n_es_partner/models/res_partner.py index d3f44bc5504..e3cbf3f4af8 100644 --- a/l10n_es_partner/models/res_partner.py +++ b/l10n_es_partner/models/res_partner.py @@ -37,6 +37,9 @@ def _commercial_fields(self): res += ["comercial"] return res - def _auto_init(self): - self.env["res.partner"]._rec_names_search.append("comercial") - return super()._auto_init() + @api.model + def name_search(self, name="", args=None, operator="ilike", limit=100): + # Inject the field comercial in _rec_names_search if not exists + if "comercial" not in self._rec_names_search: + self._rec_names_search.append("comercial") + return super().name_search(name=name, args=args, operator=operator, limit=limit)