diff options
Diffstat (limited to 'ishtar_common/utils.py')
| -rw-r--r-- | ishtar_common/utils.py | 7 | 
1 files changed, 6 insertions, 1 deletions
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):  | 
