Ejemplo n.º 1
0
 def setPermissionRoles(self):
     """Set permissions of roles.
     """
     prm = IRolePermissionManager(self.context)
     permissions = [perm.id for perm in self.permissions]
     for perm in permissions:
         rperm = self.request.get(u'perm%s' % perm)
         if rperm not in permissions:
             continue
         for role in self.roles:
             rrole = self.request.get('role%s' % role)
             if rrole not in self.roles:
                 continue
             setting = self.request.get(u'prole%s%s' % (perm, role))
             if setting is None:
                 continue
             if setting == Unset.getName():
                 prm.unsetPermissionFromRole(rperm, rrole)
             elif setting == Allow.getName():
                 prm.grantPermissionToRole(rperm, rrole)
             elif setting == Deny.getName():
                 prm.denyPermissionToRole(rperm, rrole)
             else:
                 # Unknown value. Ignore it.
                 pass
     self.msg = u"Permissions successfully updated."
Ejemplo n.º 2
0
 def getPermissionRoles(self):
     """Get a dict of dicts containing the current role->permission
     mappings.
     """
     prm = IRolePermissionManager(self.context)
     result = {}
     for perm in self.permissions:
         proles = prm.getRolesForPermission(perm.id)
         settings = {}
         for role, setting in proles:
             settings[role] = setting.getName()
         nosetting = Unset.getName()
         result[perm.id] = {}
         for role in self.roles:
             result[perm.id][role] = settings.get(role, nosetting)
     return result