summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-06 12:50:59 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:43:49 +0100
commit6a26d7e015b00039f2c6754d828d79915fdc1c23 (patch)
tree74ca481e52d5f14e6270c1d26e33bbd775cd6a02 /ishtar_common/views_item.py
parentdd7a0780afceb515959896c5826515bc5ce0efd8 (diff)
downloadIshtar-6a26d7e015b00039f2c6754d828d79915fdc1c23.tar.bz2
Ishtar-6a26d7e015b00039f2c6754d828d79915fdc1c23.zip
✨ permissions refactoring: forms - permission filter (mainly used by search tables)
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 7b10974db..0619f8f8a 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -2496,12 +2496,19 @@ def get_item(
query_own = model.get_query_owns(q.all()[0])
print(query_own) # TODO - get old request to transform them
"""
- if own_key:
+ if not own_key:
+ form_permission = dct_request_items.get("form_permission", "view")
+ if form_permission == "modification":
+ own_key = "change_own"
+ elif form_permission == "deletion":
+ own_key = "delete_own"
+ else:
+ own_key = "view_own"
+ if own_key in dct_request_items:
user_pk = dct_request_items[own_key]
- codename = f"{own_key}_{model._meta.model_name}"
else:
user_pk = request.user.pk if request else ishtaruser.pk
- codename = f"view_own_{model._meta.model_name}"
+ codename = f"{own_key}_{model._meta.model_name}"
q = UserObjectPermission.objects.filter(
user_id=user_pk,
permission__codename=codename,