def update_role_settings(self): assignments = [] for principal, roles in self.generate_role_settings().items(): assignments.append(ProtectDossierRoleAssignment(principal, roles)) if assignments: manager = RoleAssignmentManager(self.context) manager.reset(assignments)
def _update_role_settings(self, new_settings, reindex=True): """Replaced because we need our own permission manager stuff. """ assignments = [] principals_to_clear = [] for s in new_settings: principal = s['id'] selected_roles = frozenset(s['roles']) if not selected_roles: principals_to_clear.append(principal) continue assignments.append(SharingRoleAssignment(principal, selected_roles)) manager = RoleAssignmentManager(self.context) if assignments: manager.reset(assignments) else: manager.clear_by_cause_and_principals( ASSIGNMENT_VIA_SHARING, principals_to_clear)
def _update_role_settings(self, new_settings, reindex=True): """Replaced because we need our own permission manager stuff. """ assignments = [] principals_to_clear = [] for s in new_settings: principal = s['id'] selected_roles = frozenset(s['roles']) if not selected_roles: principals_to_clear.append(principal) continue assignments.append(SharingRoleAssignment(principal, selected_roles)) manager = RoleAssignmentManager(self.context) if assignments: manager.reset(assignments) else: manager.clear_by_cause_and_principals(ASSIGNMENT_VIA_SHARING, principals_to_clear)