diff options
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 |
commit | ec90a6622d5216634f8d531db50ebd3cf1f1a797 (patch) | |
tree | 796b48a3aa5095bb558909063867a278e91ff3e3 /ishtar_common/utils.py | |
parent | 4e3fccf862578d2ec8105ad1b3275b2fe8b7f0d2 (diff) | |
download | Ishtar-ec90a6622d5216634f8d531db50ebd3cf1f1a797.tar.bz2 Ishtar-ec90a6622d5216634f8d531db50ebd3cf1f1a797.zip |
Catch non authification errors
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r-- | ishtar_common/utils.py | 10 |
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 |