Changeset 1735


Ignore:
Timestamp:
21.11.2011 22:15:56 (6 months ago)
Author:
zmsdev
Message:

added support for synchronization of role-permissions (reported by desy).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ZMS/trunk/_accessmanager.py

    r1707 r1735  
    276276      return public 
    277277 
     278 
    278279    # -------------------------------------------------------------------------- 
    279280    #  AccessableObject.synchronizePublicAccess: 
     
    350351################################################################################ 
    351352class AccessableContainer(AccessableObject):  
     353 
     354    # -------------------------------------------------------------------------- 
     355    #  AccessableContainer.synchronizeRolesAccess: 
     356    # -------------------------------------------------------------------------- 
     357    def synchronizeRolesAccess(self): 
     358      message = [] 
     359      security_roles = self.getConfProperty('ZMS.security.roles',{}) 
     360      for id in security_roles.keys(): 
     361        self.manage_role(role_to_manage=id,permissions=[]) 
     362        message.append("id="+id) 
     363        d = security_roles.get(id,{}) 
     364        for node in d.keys(): 
     365          message.append("node="+node) 
     366          ob = self.getLinkObj(node) 
     367          if ob is not None: 
     368            message.append("ob="+ob.absolute_url()) 
     369            roles = d[node]['roles'] 
     370            message.append("roles="+str(roles)) 
     371            permissions = [] 
     372            for role in roles: 
     373              permissions = ob.concat_list(permissions,role_permissions(self,role.replace(' ',''))) 
     374            message.append("permissions="+str(permissions)) 
     375            ob.manage_role(role_to_manage=id,permissions=permissions) 
     376      return '\n'.join(message) 
     377 
    352378 
    353379    # -------------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.