示例#1
0
 def updateRoleMappingsFor(self, ob):
     """Changes the object permissions according to the current state.
     """
     changed = 0
     sdef = self._getWorkflowStateOf(ob)
     if sdef is None:
         return 0
     # Update the role -> permission map.
     if self.permissions:
         for p in self.permissions:
             roles = []
             if sdef.permission_roles is not None:
                 roles = sdef.permission_roles.get(p, roles)
             if modifyRolesForPermission(ob, p, roles):
                 changed = 1
     # Update the group -> role map.
     groups = self.getGroups()
     managed_roles = self.getRoles()
     if groups and managed_roles:
         for group in groups:
             roles = ()
             if sdef.group_roles is not None:
                 roles = sdef.group_roles.get(group, ())
             if modifyRolesForGroup(ob, group, roles, managed_roles):
                 changed = 1
     return changed
示例#2
0
 def updateRoleMappingsFor(self, ob):
     """Changes the object permissions according to the current state.
     """
     changed = 0
     sdef = self._getWorkflowStateOf(ob)
     if sdef is None:
         return 0
     # Update the role -> permission map.
     if self.permissions:
         for p in self.permissions:
             roles = []
             if sdef.permission_roles is not None:
                 roles = sdef.permission_roles.get(p, roles)
             if modifyRolesForPermission(ob, p, roles):
                 changed = 1
     # Update the group -> role map.
     groups = self.getGroups()
     managed_roles = self.getRoles()
     if groups and managed_roles:
         for group in groups:
             roles = ()
             if sdef.group_roles is not None:
                 roles = sdef.group_roles.get(group, ())
             if modifyRolesForGroup(ob, group, roles, managed_roles):
                 changed = 1
     return changed
示例#3
0
 def updateRoleMappingsFor(self, ob):
     '''
     Changes the object permissions according to the current
     state.
     '''
     changed = 0
     sdef = self._getWorkflowStateOf(ob)
     if sdef is not None and self.permissions:
         for p in self.permissions:
             roles = []
             if sdef.permission_roles is not None:
                 roles = sdef.permission_roles.get(p, roles)
             if modifyRolesForPermission(ob, p, roles):
                 changed = 1
     return changed