diff options
| author | Valérie-Emma Leroux <valerie-emma.leroux@iggdrasil.net> | 2017-04-07 11:40:31 +0200 | 
|---|---|---|
| committer | Valérie-Emma Leroux <valerie-emma.leroux@iggdrasil.net> | 2017-04-07 11:40:31 +0200 | 
| commit | 655236dd5d04d6527184a58ef8622e75c73f8a65 (patch) | |
| tree | f773b80964981c231c892ee5255b94285bc5620a /ishtar_common/menu_base.py | |
| parent | dc08e5f643562a6ecf3b208c1e2cd44e5350af3c (diff) | |
| parent | a4f1766d2217b1a3bc4d1d17625d9d808eed7416 (diff) | |
| download | Ishtar-655236dd5d04d6527184a58ef8622e75c73f8a65.tar.bz2 Ishtar-655236dd5d04d6527184a58ef8622e75c73f8a65.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): | 
