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
commit1970ab3e774d912a73ffd343e506156ba34772b2 (patch)
tree5b6673e61cd00871718cc6e1d4859d75b7433484 /ishtar/ishtar_base/menus.py
parent968d59a2de5918353df998fcd90283da76a18f95 (diff)
downloadIshtar-1970ab3e774d912a73ffd343e506156ba34772b2.tar.bz2
Ishtar-1970ab3e774d912a73ffd343e506156ba34772b2.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):