summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-15 11:51:49 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:55 +0100
commitf3764eea1ac4a6cdb12095322a00fd93d377c2c5 (patch)
tree878cc3ba5ce98d1d7ed28e264d54f4ca4efbdf0d /ishtar_common/views_item.py
parenta2de2eb42009de3b8bf56f2af2a6071a4a98fd8f (diff)
downloadIshtar-f3764eea1ac4a6cdb12095322a00fd93d377c2c5.tar.bz2
Ishtar-f3764eea1ac4a6cdb12095322a00fd93d377c2c5.zip
✨ adapt sheet to manage sheet filters
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 9570687bf..639af1e88 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -386,11 +386,13 @@ def filter_sheet(ishtar_user, item):
if exclude is None:
return item
base_keys = [
- "id", "pk", "locked", "is_locked", "SLUG", "APP", "MODEL",
- "HAS_QR_CODE", "get_absolute_url", "get_extra_actions",
- "get_extra_templates", "can_edit", "can_delete", "DELETE_URL"
+ "SLUG", "APP", "MODEL", "DELETE_URL" "HAS_QR_CODE",
+ "id", "pk", "app_label", "model_name", "locked", "is_locked",
+ "get_absolute_url", "get_extra_actions", "get_extra_templates",
+ "can_edit", "can_delete"
]
base_keys += getattr(item, "SHEET_BASE_KEYS", [])
+ empty_keys = getattr(item, "SHEET_EMPTY_KEYS", [])
if exclude:
# cannot exclude base keys
len_keys = len(keys)
@@ -401,9 +403,14 @@ def filter_sheet(ishtar_user, item):
keys += base_keys
if exclude:
for key in keys:
- setattr(item, key, None)
+ try:
+ setattr(item, key, None)
+ except TypeError:
+ pass
return item
new_item = type("BaseObject", (object,), {})
+ for empty_key in empty_keys:
+ setattr(new_item, empty_key, None)
for key in keys:
setattr(new_item, key, getattr(item, key, None))
return new_item