def manage_role(self, role_to_manage, permissions=[]): """Change the permissions given to the given role. """ for p in self.ac_inherited_permissions(1): name, value = p[:2] p = Permission(name, value, self) p.setRole(role_to_manage, name in permissions)
def resetPublishPermission(context): from AccessControl.Permission import Permission siteroot = aq_parent(context) permission = Permission("Euphorie: Publish a Survey", (), siteroot) if "CountryManager" not in permission.getRoles(default=[]): permission.setRole("CountryManager", True) log.info("Adding publish permission for country managers")
def modifyPermissionMappings(ob, map): ''' Modifies multiple role to permission mappings. ''' # This mimics what AccessControl/Role.py does. # Needless to say, it's crude. :-( map = map.copy() # Safety. for perm in ac_inherited_permissions(ob, 1): name, value = perm[:2] if map.has_key(name): for (role, allow) in map[name].items(): p = Permission(name, value, ob) p.setRole(role, allow) # Will only modify if it should. del map[name] if map: for name, (role, allow) in map.items(): p = Permission(name, (), ob) p.setRole(role, allow)