diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-10-07 19:09:30 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:21 +0100 |
commit | 9d5f0791187ff6b18d3ffa4db4d593fe96834e8d (patch) | |
tree | 9cd21bf7e51d271b958a9a4b2b85367adbb97992 /ishtar_common/views_item.py | |
parent | e5c0a159929fc64d63db37ebd85a5a810faf2534 (diff) | |
download | Ishtar-9d5f0791187ff6b18d3ffa4db4d593fe96834e8d.tar.bz2 Ishtar-9d5f0791187ff6b18d3ffa4db4d593fe96834e8d.zip |
Refactoring of models. Document container - declare only id
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 |