diff options
author | Valérie-Emma Leroux <emma@iggdrasil.net> | 2017-04-07 11:40:31 +0200 |
---|---|---|
committer | Valérie-Emma Leroux <emma@iggdrasil.net> | 2017-04-07 11:40:31 +0200 |
commit | 7f22d3c20cc24debfe123425efa63ec5293e4b4c (patch) | |
tree | f773b80964981c231c892ee5255b94285bc5620a /ishtar_common/menu_base.py | |
parent | 9127307734c85b816ac7dbb539b565ffb106d60f (diff) | |
parent | da4af2ab5d105f6d2ce442b517e532b7570616e3 (diff) | |
download | Ishtar-7f22d3c20cc24debfe123425efa63ec5293e4b4c.tar.bz2 Ishtar-7f22d3c20cc24debfe123425efa63ec5293e4b4c.zip |
Merge branch 'master' of git.iggdrasil.net:/srv/git/ishtar
Conflicts:
archaeological_operations/templates/ishtar/sheet_operation.html
Diffstat (limited to 'ishtar_common/menu_base.py')
-rw-r--r-- | ishtar_common/menu_base.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/ishtar_common/menu_base.py b/ishtar_common/menu_base.py index 0117b375d..c6d02daa5 100644 --- a/ishtar_common/menu_base.py +++ b/ishtar_common/menu_base.py @@ -87,18 +87,22 @@ class MenuItem: return False if not self.access_controls: return True + if not hasattr(user, 'ishtaruser'): + return False + # manage by specific idx - person type + if user.ishtaruser.has_right(self.idx, session=session): + return True prefix = (self.model._meta.app_label + '.') if self.model else '' for access_control in self.access_controls: + # check by person type + if user.ishtaruser.has_right(access_control, session=session): + return True access_control = prefix + access_control - if hasattr(user, 'ishtaruser') and \ - user.ishtaruser.has_perm(access_control, self.model, - session=session) or \ + # check by specific access control + if user.ishtaruser.has_perm(access_control, self.model, + session=session) or \ access_control in user.get_group_permissions(): return True - # manage by person type - if hasattr(user, 'ishtaruser'): - if user.ishtaruser.has_right(self.idx, session=session): - return True return False def is_available(self, user, obj=None, session=None): |