diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-06 11:16:21 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-06 11:16:21 +0100 |
commit | 6bfef60caea11ca8ab5f02455bd0141acdee5ded (patch) | |
tree | ffaf49d827ae66baa54dce42011495bb73b18360 | |
parent | e697a74e5624d124def3b9af432746788a5d6092 (diff) | |
download | Ishtar-6bfef60caea11ca8ab5f02455bd0141acdee5ded.tar.bz2 Ishtar-6bfef60caea11ca8ab5f02455bd0141acdee5ded.zip |
🐛 criteria search: fix exact date query for datetime fields (refs #6206)
-rw-r--r-- | ishtar_common/views_item.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 52444fed9..a6984be8e 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -1236,6 +1236,12 @@ def _manage_date(k, dct): maxs = [value for dt, value in results if dt == "lte"] eqs = [value for dt, value in results if dt == "eq"] if eqs and not mins and not maxs: # TODO: min and max not available when using single dates + for datetime_field in BASE_DATETIME_FIELDS: + # manage exact date match on datetime field + if k.startswith(datetime_field): + dct.pop(k) + k = k + "__date" + break dct[k] = ";".join(eqs) return dct.pop(k) @@ -1429,7 +1435,6 @@ def _manage_hierarchic_area(base_req, dct, and_reqs): q = query_list[0] for query in query_list[1:]: q |= query - print(q) and_reqs.append(q) @@ -2322,7 +2327,7 @@ def manage_hierarchy_shorcut(model, request, query): DEFAULT_ROW_NUMBER = 10 # length is used by ajax DataTables requests EXCLUDED_FIELDS = ["length"] -BASE_DATED_FIELDS = ["created", "last_modified"] +BASE_DATETIME_FIELDS = ["created", "last_modified"] def get_item( @@ -2471,7 +2476,7 @@ def get_item( my_dated_fields = model.DATED_FIELDS[:] else: my_dated_fields = dated_fields[:] if dated_fields else [] - my_dated_fields += BASE_DATED_FIELDS + my_dated_fields += BASE_DATETIME_FIELDS if not associated_models and hasattr(model, "ASSOCIATED_MODELS"): my_associated_models = model.ASSOCIATED_MODELS[:] else: |