diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-20 16:20:31 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-02-20 16:20:31 +0100 | 
| commit | 3aafd91d3b5dafc0603d4c8edf80173a82535d6a (patch) | |
| tree | 59e6ee0433f382077412881957ab84a3d8278467 /ishtar_common/views.py | |
| parent | bc2584a753e93031475afd03d839a6d8316cfc84 (diff) | |
| download | Ishtar-3aafd91d3b5dafc0603d4c8edf80173a82535d6a.tar.bz2 Ishtar-3aafd91d3b5dafc0603d4c8edf80173a82535d6a.zip  | |
Fix unaccented search in search vector (refs #3152)
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 17 | 
1 files changed, 12 insertions, 5 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 8db0e9460..bd558a62e 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -17,8 +17,6 @@  # See the file COPYING for details. -from tidylib import tidy_document as tidy -  from copy import copy, deepcopy  import csv  import datetime @@ -28,7 +26,9 @@ from markdown import markdown  import optparse  import re  from tempfile import NamedTemporaryFile +from tidylib import tidy_document as tidy  import unicodedata +from unidecode import unidecode  from weasyprint import HTML, CSS  from weasyprint.fonts import FontConfiguration @@ -631,6 +631,15 @@ def _get_values(request, val):      return new_vals +def _search_manage_search_vector(dct): +    if 'search_vector' in dct: +        dct['search_vector'] = SearchQuery( +            unidecode(dct['search_vector']), +            config=settings.ISHTAR_SEARCH_LANGUAGE +        ) +    return dct + +  DEFAULT_ROW_NUMBER = 10  # length is used by ajax DataTables requests  EXCLUDED_FIELDS = ['length'] @@ -899,9 +908,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],                          reqs |= q                      and_reqs.append(reqs)                      break -        if 'search_vector' in dct: -            dct['search_vector'] = SearchQuery( -                dct['search_vector'], config=settings.ISHTAR_SEARCH_LANGUAGE) +        dct = _search_manage_search_vector(dct)          query = Q(**dct)          for k, or_req in or_reqs:              alt_dct = dct.copy()  | 
