[FIX] base_name_search_improved: use sudo on _get_use_smart_name_search

and avoid superself variable
pull/2477/head
Juan Jose Scarafia 2021-03-11 18:23:08 -03:00 committed by filoquin
parent 8133a2ede6
commit 0ad49ef580
1 changed files with 5 additions and 7 deletions

View File

@ -67,15 +67,14 @@ def patch_name_search():
res = _name_search.origin( res = _name_search.origin(
self, name=name, args=args, operator=operator, limit=limit, name_get_uid=name_get_uid self, name=name, args=args, operator=operator, limit=limit, name_get_uid=name_get_uid
) )
if name and _get_use_smart_name_search(self) and operator in ALLOWED_OPS: if name and _get_use_smart_name_search(self.sudo()) and operator in ALLOWED_OPS:
limit = limit or 0 limit = limit or 0
superself = self.sudo()
# we add domain # we add domain
args = args or [] + _get_name_search_domain(superself) args = args or [] + _get_name_search_domain(self.sudo())
# Support a list of fields to search on # Support a list of fields to search on
all_names = _get_rec_names(superself) all_names = _get_rec_names(self.sudo())
base_domain = args or [] base_domain = args or []
# Try regular search on each additional search field # Try regular search on each additional search field
for rec_name in all_names[1:]: for rec_name in all_names[1:]:
@ -159,9 +158,8 @@ class Base(models.AbstractModel):
""" """
name = value name = value
if name and operator in ALLOWED_OPS: if name and operator in ALLOWED_OPS:
superself = self.sudo() all_names = _get_rec_names(self.sudo())
all_names = _get_rec_names(superself) domain = _get_name_search_domain(self.sudo())
domain = _get_name_search_domain(superself)
for word in name.split(): for word in name.split():
word_domain = [] word_domain = []
for rec_name in all_names: for rec_name in all_names: