diff options
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 |
commit | 587b86e43fb43ab93342b5033db0f7a5d5824c22 (patch) | |
tree | ec3dbe7ecf2456526921c14b3cc35fbf88fe8e06 /ishtar_common/views_item.py | |
parent | cec82ddd70d37e11b5efe077f90886c3e88e0b1e (diff) | |
download | Ishtar-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.py | 11 |
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 |