From 5caf4058758d0e5640f1e92d919ffa3fcae0ba27 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 9 May 2022 13:01:46 +0200 Subject: Fix permission check --- ishtar_common/utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ishtar_common/utils.py') diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 89700eaad..3202afede 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -46,6 +46,7 @@ from django import forms from django.apps import apps from django.conf import settings from django.conf.urls import url +from django.contrib.auth.models import Permission from django.contrib.contenttypes.models import ContentType from django.contrib.gis.geos import GEOSGeometry from django.contrib.sessions.backends.db import SessionStore @@ -243,7 +244,11 @@ def check_model_access_control(request, model, available_perms=None): allowed = True own = False return allowed, own - for perm, lbl in model._meta.permissions: + q = Permission.objects.filter( + content_type__app_label=model._meta.app_label, + content_type__model=model._meta.model_name + ) + for perm in q.values_list("codename", flat=True): if perm not in available_perms: continue if ishtaruser.person.has_right(perm, session=request.session): -- cgit v1.2.3