summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-04-29 14:29:57 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-04-29 14:29:57 +0200
commit587b86e43fb43ab93342b5033db0f7a5d5824c22 (patch)
treeec3dbe7ecf2456526921c14b3cc35fbf88fe8e06 /ishtar_common/views_item.py
parentcec82ddd70d37e11b5efe077f90886c3e88e0b1e (diff)
downloadIshtar-587b86e43fb43ab93342b5033db0f7a5d5824c22.tar.bz2
Ishtar-587b86e43fb43ab93342b5033db0f7a5d5824c22.zip
Fix default pin search
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index ce72f765d..17937b6b0 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -1203,6 +1203,8 @@ def _manage_default_search(
):
pinned_search = ""
pin_key = "pin-search-" + default_name
+ base_request = my_base_request or {}
+ dct = {k: v for k, v in dct.items() if v}
if pin_key in request.session and request.session[pin_key]: # a search is pinned
pinned_search = request.session[pin_key]
dct = {"search_vector": request.session[pin_key]}
@@ -1222,7 +1224,7 @@ def _manage_default_search(
pinned_search = '"{}"'.format(model.objects.get(pk=dct["pk"]))
except model.DoesNotExist:
pass
- elif dct == (my_base_request or {}):
+ elif dct == {k: v for k, v in base_request.items() if v}:
if not hasattr(model, "UP_MODEL_QUERY"):
logger.warning(
"**WARN get_item**: - UP_MODEL_QUERY not defined for "
@@ -1778,7 +1780,12 @@ def get_item(
base_keys = ["extras", "and_reqs", "exc_and_reqs"]
if my_base_request and isinstance(my_base_request, dict):
base_keys += list(my_base_request)
- has_a_search = any(k for k in dct.keys() if k not in base_keys)
+
+ whole_bool_fields = my_bool_fields[:] + my_reversed_bool_fields[:]
+ has_a_search = any(
+ k for k in dct.keys() if k not in base_keys and (
+ dct[k] and (k not in whole_bool_fields or dct[k] != '1'))
+ )
# manage default and pinned search and not bookmark
if (
not has_a_search