summaryrefslogtreecommitdiff
path: root/ishtar_common/utils.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-28 16:28:47 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-28 16:28:47 +0200
commitec90a6622d5216634f8d531db50ebd3cf1f1a797 (patch)
tree796b48a3aa5095bb558909063867a278e91ff3e3 /ishtar_common/utils.py
parent4e3fccf862578d2ec8105ad1b3275b2fe8b7f0d2 (diff)
downloadIshtar-ec90a6622d5216634f8d531db50ebd3cf1f1a797.tar.bz2
Ishtar-ec90a6622d5216634f8d531db50ebd3cf1f1a797.zip
Catch non authification errors
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r--ishtar_common/utils.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 94125ddb8..7d5c2ce3a 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -126,16 +126,18 @@ def check_model_access_control(request, model, available_perms=None):
if not available_perms:
available_perms = ['view_' + model.__name__.lower(),
'view_own_' + model.__name__.lower()]
- if request.user.ishtaruser.has_right('administrator',
- session=request.session):
+ try:
+ ishtaruser = request.user.ishtaruser
+ except request.user._meta.model.ishtaruser.RelatedObjectDoesNotExist:
+ return False, True
+ if ishtaruser.has_right('administrator', session=request.session):
allowed = True
own = False
return allowed, own
for perm, lbl in model._meta.permissions:
if perm not in available_perms:
continue
- if request.user.ishtaruser.person.has_right(
- perm, session=request.session):
+ if ishtaruser.person.has_right(perm, session=request.session):
allowed = True
if "_own_" not in perm:
own = False