[Checkins]
SVN: z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py
securitytool.py cleanup
Daniel Blackburn
blackburnd at gmail.com
Tue Feb 19 21:46:42 EST 2008
Log message for revision 84067:
securitytool.py cleanup
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-02-19 22:08:02 UTC (rev 84066)
+++ z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py 2008-02-20 02:46:41 UTC (rev 84067)
@@ -16,7 +16,8 @@
from zope.securitypolicy.principalrole import principalRoleManager
from zope.securitypolicy.interfaces import Allow, Unset, Deny
-from zope.securitypolicy.interfaces import IPrincipalPermissionManager, IPrincipalRoleManager
+from zope.securitypolicy.interfaces import IPrincipalRoleManager
+from zope.securitypolicy.interfaces import IPrincipalPermissionManager
from zope.session.interfaces import ISession
from zope.app import zapi
from z3c.securitytool import interfaces
@@ -137,28 +138,27 @@
continue
else:
- permSetting= principalRoleProvidesPermission(
+ permSetting = principalRoleProvidesPermission(
principalRoles, rolePermMap,
principal, read_perm,
role['role']
)
+ if permSetting[1]:
+ self.updateRolePermissionSetting(permSetting[1],
+ principal,
+ role['role'],
+ self.name)
- self.updateRolePermissionSetting(permSetting,principal,role)
-
principalPermissions = allSettings.get('principalPermissions',[])
self.populatePermissionMatrix(read_perm,principalPermissions)
- def updateRolePermissionSetting(self,permSetting,principal,role):
+ def updateRolePermissionSetting(self,permSetting,principal,role,name):
""" Updates permission setting for current role if necessary"""
- if permSetting[1]:
- if permSetting[1] != 'Deny':
- if not self.viewRoleMatrix[principal].has_key(self.name):
- self.viewRoleMatrix[principal][self.name] = {}
+ if permSetting != 'Deny':
+ if not self.viewRoleMatrix[principal].has_key(name):
+ self.viewRoleMatrix[principal][name] = {}
+ self.viewRoleMatrix[principal][name].update({role:permSetting})
- self.viewRoleMatrix[principal][self.name].update(
- {role['role']:permSetting[1]})
-
-
def getSettingsForMatrix(self,viewInstance):
""" Here we aggregate all the principal permissions into one object
We need them all for our lookups to work properly in
@@ -181,7 +181,6 @@
return allSettings, settings
-
def populatePermissionMatrix(self,read_perm,principalPermissions):
""" This method populates the principal permission section of
the view matrix
@@ -291,29 +290,29 @@
if key not in keys:
self.principalMatrix['roleTree'].append({
key:{}})
- place = -1
+ listIdx = -1
else:
- place = keys.index(key)
+ listIdx = keys.index(key)
# Each key is unique so we just get the list index to edit
# we keep it as a list so the order stays the same.
- self.principalMatrix['roleTree'][place]\
+ self.principalMatrix['roleTree'][listIdx]\
[key]['parentList'] = \
parentList
- self.principalMatrix['roleTree'][place]\
+ self.principalMatrix['roleTree'][listIdx]\
[key]['name'] = item.get('name')
self.principalMatrix['roleTree']\
- [place][key].setdefault('roles',[])
+ [listIdx][key].setdefault('roles',[])
# we make sure we only add the roles we do not yet have.
if curRole not in \
- self.principalMatrix['roleTree'][place]\
+ self.principalMatrix['roleTree'][listIdx]\
[key]['roles']:
- self.principalMatrix['roleTree'][place]\
+ self.principalMatrix['roleTree'][listIdx]\
[key]['roles'].append(curRole)
def populatePrincipalRoles(self,item,role,curRole):
@@ -368,27 +367,27 @@
if key not in keys:
self.principalMatrix['permissionTree'].append({key:{}})
- place = -1
+ listIdx = -1
else:
- place = keys.index(key)
+ listIdx = keys.index(key)
# Each key is unique so we just get the list index to edit
# We keep it as a list so the order stays the same.
- self.principalMatrix['permissionTree'][place]\
+ self.principalMatrix['permissionTree'][listIdx]\
[key]['parentList'] = \
item.get('parentList')
- self.principalMatrix['permissionTree'][place]\
+ self.principalMatrix['permissionTree'][listIdx]\
[key]['name'] = item.get('name')
self.principalMatrix['permissionTree']\
- [place][key].setdefault('permissions',[])
+ [listIdx][key].setdefault('permissions',[])
if prinPerms not in self.principalMatrix['permissionTree']\
- [place][key]['permissions']:
+ [listIdx][key]['permissions']:
self.principalMatrix['permissionTree']\
- [place][key]['permissions'].append(prinPerms)
+ [listIdx][key]['permissions'].append(prinPerms)
def permissionDetails(self, principal_id, view_name, skin=IBrowserRequest):
More information about the Checkins
mailing list