[Checkins]
SVN: z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py
Principal Details page now respects the groups inherited
permissions and applies them to the permissions section
Daniel Blackburn
blackburnd at gmail.com
Sun May 25 16:01:50 EDT 2008
Log message for revision 86944:
Principal Details page now respects the groups inherited permissions and applies them to the permissions section
Changed:
U z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py
-=-
Modified: z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py
===================================================================
--- z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py 2008-05-25 10:04:39 UTC (rev 86943)
+++ z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py 2008-05-25 20:01:48 UTC (rev 86944)
@@ -59,6 +59,8 @@
permissions and role-permissions permissions will always win.
"""
+ # TODO Need a viewGroupMatrix:
+
for item in self.viewRoleMatrix:
if not self.viewMatrix.has_key(item):
self.viewMatrix[item] = {}
@@ -155,6 +157,7 @@
"""
matrix = self.viewPermMatrix
principalPermissions.reverse()
+
for prinPerm in principalPermissions:
if prinPerm['permission'] != read_perm:
#If it is not the read_perm it is uninteresting
@@ -436,7 +439,19 @@
group_id = group.id
gMatrix = {group_id: self(group_id)}
pMatrix['groups'].update(gMatrix)
-
+
+ #import pdb; pdb.set_trace()
+
+ # The following section updates the principalPermissions with
+ # the permissions found in the groups assigned. if the permisssion
+ # already exists for the principal then we ignore it.
+ permList = [x.items()[1][1] for x in pMatrix['permissions']]
+ for matrix in gMatrix.values():
+ for tmp in matrix['permissions']:
+ gPerm = tmp['permission']
+ if gPerm not in permList:
+ pMatrix['permissions'].append(tmp)
+
self.orderRoleTree(pMatrix)
return pMatrix
More information about the Checkins
mailing list