From 62d3e1a1a39d8220ae8b7ae4014cf71b61ae6f57 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 19 Sep 2023 12:05:05 +0200 Subject: [PATCH] [FIX] crm: incorrect field name as expression source PR #105873 added computed indexes on the `mobile` and `phone` commits for the benefit of `phone_mobile_search`, however it created both indexes to work on the `phone` field as source, rather than whichever field they were named after and partial for. As a result, the index has no effect when searching on `mobile`. closes odoo/odoo#135878 Signed-off-by: Xavier Morel (xmo) --- addons/crm/models/crm_lead.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 9d7640095c4..38176a9dbc9 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -743,7 +743,7 @@ class Lead(models.Model): index_name = f'crm_lead_{field_name}_partial_tgm' if tools.index_exists(self._cr, index_name): continue - regex_expression = "regexp_replace((phone::text), %s::text, ''::text, 'g'::text)" + regex_expression = f"regexp_replace(({field_name}::text), %s::text, ''::text, 'g'::text)" self._cr.execute( f'CREATE INDEX "{index_name}" ON "{self._table}" ({regex_expression}) WHERE {field_name} IS NOT NULL', (phone_pattern,)