summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base/menus.py
diff options
context:
space:
mode:
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
commitcbbaaedc6fb3552081c30ff304ab9f97798426f7 (patch)
tree5b6673e61cd00871718cc6e1d4859d75b7433484 /ishtar/ishtar_base/menus.py
parent9708c9524c1534c283701fb2af524aa2446eec09 (diff)
downloadIshtar-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.py10
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):