diff options
| -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 | 
