diff options
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 |
commit | 6a26d7e015b00039f2c6754d828d79915fdc1c23 (patch) | |
tree | 74ca481e52d5f14e6270c1d26e33bbd775cd6a02 /ishtar_common/views_item.py | |
parent | dd7a0780afceb515959896c5826515bc5ce0efd8 (diff) | |
download | Ishtar-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.py | 13 |
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, |