diff options
Diffstat (limited to 'ishtar_common/views_item.py')
| -rw-r--r-- | ishtar_common/views_item.py | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 8b066194f..056385918 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -33,9 +33,9 @@ from weasyprint import HTML, CSS  from weasyprint.fonts import FontConfiguration  from ishtar_common.utils import check_model_access_control, CSV_OPTIONS, \ -    get_all_field_names, Round +    get_all_field_names, Round, PRIVATE_FIELDS  from ishtar_common.models import HistoryError, get_current_profile, \ -    PRIVATE_FIELDS, GeneralType, SearchAltName +    GeneralType, SearchAltName  from .menus import Menu  from . import models @@ -507,21 +507,21 @@ def _parse_query_string(string, query_parameters, current_dct, exc_dct,      string = string.strip().lower()      match = RE_FACET.search(string) -    if match or u"=" in string: +    if match or "=" in string:          queries = []          if match:              for idx, gp in enumerate(match.groups()):                  if not idx:                      base_term = gp                  elif gp: -                    queries.append(u'"{}"'.format(gp)) +                    queries.append('"{}"'.format(gp))          else: -            splited = string.split(u"=") +            splited = string.split("=")              if len(splited) == 2:                  base_term = splited[0]                  queries.append(splited[1])          if queries: -            excluded = base_term.startswith(u"-") +            excluded = base_term.startswith("-")              if excluded:                  base_term = base_term[1:]              if base_term in query_parameters: @@ -687,7 +687,7 @@ def _search_manage_search_vector(model, dct, exc_dct, distinct_queries,      if search_query:          # remove inside parenthesis          search_query = \ -            search_query.replace(u'(', u'').replace(u')', u'').strip() +            search_query.replace('(', '').replace(')', '').strip()          if search_query:              if 'extras' not in dct:                  dct['extras'] = [] @@ -830,10 +830,14 @@ def _manage_facet_search(model, dct, and_reqs):      if not hasattr(model, "general_types"):          return      general_types = model.general_types() +    hierarchic_fields = HIERARCHIC_FIELDS[:]      for base_k in general_types: -        if base_k in HIERARCHIC_FIELDS:  # already managed +        if base_k in hierarchic_fields:  # already managed              continue -        k = base_k + "__pk" +        if base_k.endswith("_id"): +            k = base_k +        else: +            k = base_k + "__pk"          if k not in dct or not dct[k].startswith('"') \                  or not dct[k].startswith('"'):              continue  | 
