diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-10-11 20:40:01 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-10-11 20:40:01 +0200 |
commit | cbbaaedc6fb3552081c30ff304ab9f97798426f7 (patch) | |
tree | 5b6673e61cd00871718cc6e1d4859d75b7433484 /ishtar/ishtar_base/menus.py | |
parent | 9708c9524c1534c283701fb2af524aa2446eec09 (diff) | |
download | Ishtar-cbbaaedc6fb3552081c30ff304ab9f97798426f7.tar.bz2 Ishtar-cbbaaedc6fb3552081c30ff304ab9f97798426f7.zip |
More precise right managements (closes #644)
- wizard filtered with right managements
- better admin for rights related to person types
Diffstat (limited to 'ishtar/ishtar_base/menus.py')
-rw-r--r-- | ishtar/ishtar_base/menus.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ishtar/ishtar_base/menus.py b/ishtar/ishtar_base/menus.py index 877f8aeab..79355a6be 100644 --- a/ishtar/ishtar_base/menus.py +++ b/ishtar/ishtar_base/menus.py @@ -67,6 +67,11 @@ class MenuItem: access_control = self.model._meta.app_label + '.' + access_control if user.has_perm(access_control, self.model): return True + # manage by person type + if hasattr(user, 'ishtaruser'): + person_type = user.ishtaruser.person.person_type + if person_type.rights.filter(wizard__url_name=self.idx).count(): + return True return False def is_available(self, user, obj=None): @@ -76,6 +81,11 @@ class MenuItem: access_control = self.model._meta.app_label + '.' + access_control if user.has_perm(access_control, self.model, obj): return True + # manage by person type + if hasattr(user, 'ishtaruser'): + person_type = user.ishtaruser.person.person_type + if person_type.rights.filter(wizard__url_name=self.idx).count(): + return True return False def set_items(self, user, items): |