summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-02-11 16:19:18 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-02-12 17:46:56 +0100
commite346a2397b717caacfc03150361b1595bb250e27 (patch)
tree76e041cae9a48470d8d8899216f9feb4e2ef9dc8 /ishtar_common
parentd03cf3dbfef808cda84b0f35c467e6d97829f6e5 (diff)
downloadIshtar-e346a2397b717caacfc03150361b1595bb250e27.tar.bz2
Ishtar-e346a2397b717caacfc03150361b1595bb250e27.zip
🐛 CSV export: fix export of json field when a json field is used as search (refs #6602)
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/models_common.py2
-rw-r--r--ishtar_common/views_item.py11
2 files changed, 9 insertions, 4 deletions
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index c68d3252b..9ce5b9e70 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -1005,7 +1005,9 @@ class FullSearch(models.Model):
@classmethod
def get_default_search_form(cls):
# DEFAULT_SEARCH_FORM is used to get the form when exporting tables
+ # necessary to manage correctly search with json fields
if not cls.DEFAULT_SEARCH_FORM:
+ print(f"**WARNING** DEFAULT_SEARCH_FORM not specified for {cls}")
return
form = getattr(import_module(cls.DEFAULT_SEARCH_FORM[0]),
cls.DEFAULT_SEARCH_FORM[1])
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 2d22a93cc..82eb4c7a8 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -2588,12 +2588,15 @@ def get_item(
)
request_keys.update(my_extra_request_keys)
+ current_search_form = search_form
+ if not current_search_form and hasattr(model, "get_default_search_form"):
+ current_search_form = model.get_default_search_form()
+
# manage search on json fields and excluded fields
ishtaruser = request.user.ishtaruser if request else ishtaruser
- if search_form:
- available, __, excluded_fields, json_fields = search_form.check_custom_form(
- ishtaruser
- )
+ if current_search_form:
+ available, __, excluded_fields, json_fields = \
+ current_search_form.check_custom_form(ishtaruser)
# for now no manage on excluded_fields: should we prevent search on
# some fields regarding the user concerned?
if available: