[Checkins] SVN: z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py Only granted roles now show on page, will add denied soon

Daniel Blackburn blackburnd at gmail.com
Thu Feb 7 13:51:01 EST 2008


Log message for revision 83645:
  Only granted roles now show on page, will add denied soon

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-07 18:45:44 UTC (rev 83644)
+++ z3c.securitytool/trunk/src/z3c/securitytool/securitytool.py	2008-02-07 18:51:00 UTC (rev 83645)
@@ -160,16 +160,6 @@
 
         ifaces = tuple(providedBy(self.context))
 
-
-        #settingList = [val for val, val in settingsForObject(viewInstance)]
-        #
-        ##For each item in our list we will update the settings dict
-        #for setting in settingList:
-        #    for key,val in setting.items():
-        #        if not settings.has_key(key):
-        #            settings[key] = []
-        #        settings[key].extend(val)
-
         for iface in ifaces:
             for view_reg in getViews(iface, IBrowserRequest):
                 view = self.getView(view_reg, skin)
@@ -191,7 +181,6 @@
                 if PrinSettings['groups']:                  
                     prinPermSettings['groups'].update(PrinSettings['groups'])
                 
-
         return prinPermSettings
 
 
@@ -200,8 +189,10 @@
     def policyPermissions(self, principal, settings):
         """ this method recursively populates the principal permissions
             dict and is only used by principalPermissions """
+
         prinPermSettings = {'permissions': [],
                             'roles': {},
+                            'deniedRoles': {},
                             'groups': {}}
         principals = zapi.principals()
 
@@ -236,9 +227,15 @@
                     _setting = rolePerms['setting'].getName()
                     mapping = {'permission': permission,
                                'setting': _setting}
-                    perms = prinPermSettings['roles'].setdefault(
-                        role, [])
 
+                    if prinRoles.get('setting','') == Allow:
+                        perms = prinPermSettings['roles'].setdefault(
+                            role, [])
+                    else:
+                        perms = prinPermSettings['deniedRoles'].setdefault(
+                            role, [])
+
+
                     if not mapping in perms:
                         perms.append(mapping)
         # Here we loop through the groups and recursively call this method



More information about the Checkins mailing list