summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py22
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