summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-11-13 16:41:53 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:55 +0100
commit5b1e6d47258b9a716bd99babb32f832251a0625d (patch)
tree758fa7ffa39c1497eba1d8bb57dd0bc668425532 /ishtar_common/views_item.py
parenta5ed83e0c3ba63a40f2fe31aa44f6d3a9b7d1c16 (diff)
downloadIshtar-5b1e6d47258b9a716bd99babb32f832251a0625d.tar.bz2
Ishtar-5b1e6d47258b9a716bd99babb32f832251a0625d.zip
🐛 fix own permissions for sheets - translation in admin page
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 0619f8f8a..9f72171b9 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -20,7 +20,7 @@ from django.contrib.contenttypes.models import ContentType
from django.contrib.gis.geos import GEOSException
from django.contrib.staticfiles.templatetags.staticfiles import static
from django.core.cache import cache
-from django.core.exceptions import ObjectDoesNotExist
+from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.db.models import (
F,
Q,
@@ -383,14 +383,19 @@ def show_item(model, name, extra_dct=None, model_for_perms=None, callback=None):
check_model = model_for_perms
allowed, own = check_model_access_control(request, check_model)
if not allowed:
- return HttpResponse("", content_type="application/xhtml")
+ raise PermissionDenied()
q = model.objects
if own:
- if not hasattr(request.user, "ishtaruser"):
- return HttpResponse("")
+ meta = model._meta
+ if not request.user.has_perm(
+ f"{meta.app_label}.view_own_{meta.model_name}"):
+ raise PermissionDenied()
+ """
+ TODO: remove
query_own = model.get_query_owns(request.user.ishtaruser)
if query_own:
q = q.filter(query_own).distinct()
+ """
doc_type = "type" in dct and dct.pop("type")
try:
url = reverse("show-" + name, args=["0", ""])