From 752d3d8eda5cd968faf0d370ae2d781575c60d90 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 29 Dec 2020 12:09:08 +0100 Subject: Unaccent search for person/orga. Tips for operation form --- ishtar_common/views.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'ishtar_common/views.py') diff --git a/ishtar_common/views.py b/ishtar_common/views.py index e445cb44d..d5b38ebed 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -613,9 +613,9 @@ def autocomplete_ishtaruser(request): return HttpResponseBadRequest() query = Q() for q in q.split(' '): - qu = (Q(person__name__icontains=q) | - Q(person__surname__icontains=q) | - Q(person__raw_name__icontains=q)) + qu = (Q(person__name__unaccent__icontains=q) | + Q(person__surname__unaccent__icontains=q) | + Q(person__raw_name__unaccent__icontains=q)) query = query & qu users = models.IshtarUser.objects.filter(query).distinct()[:limit] data = json.dumps([ @@ -643,10 +643,12 @@ def autocomplete_person(request, person_types=None, attached_to=None, return HttpResponseBadRequest() query = Q() for q in q.split(' '): - qu = (Q(name__icontains=q) | Q(surname__icontains=q) | - Q(email__icontains=q) | Q(attached_to__name__icontains=q)) + qu = (Q(name__unaccent__icontains=q) | + Q(surname__unaccent__icontains=q) | + Q(email__unaccent__icontains=q) | + Q(attached_to__name__unaccent__icontains=q)) if permissive: - qu = qu | Q(raw_name__icontains=q) + qu = qu | Q(raw_name__unaccent__icontains=q) query = query & qu if attached_to: query = query & Q(attached_to__pk__in=attached_to.split('_')) @@ -780,7 +782,7 @@ def autocomplete_organization(request, orga_type=None): q = request.GET.get('term') query = Q() for q in q.split(' '): - extra = Q(cached_label__icontains=q) + extra = Q(cached_label__unaccent__icontains=q) query = query & extra if orga_type: try: -- cgit v1.2.3