summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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 b6386cfd5..9dfb355e9 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -928,7 +928,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 0fe65356b..12ba29967 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -2196,16 +2196,19 @@ 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
if (
- search_form
+ current_search_form
and request
and request.user
and getattr(request.user, "ishtaruser", None)
):
- available, __, excluded_fields, json_fields = search_form.check_custom_form(
- request.user.ishtaruser
- )
+ available, __, excluded_fields, json_fields = \
+ current_search_form.check_custom_form(request.user.ishtaruser)
# for now no manage on excluded_fields: should we prevent search on
# some fields regarding the user concerned?
if available: