public static object SetPermissions(Content content, SetPermissionsRequest r) { var request = r; var editor = SecurityHandler.CreateAclEditor(); SetPermissions(content, request, editor); editor.Apply(); return(null); }
public static Content SetPermissions(Content content, SetPermissionsRequest r) { var request = r; var editor = Providers.Instance.SecurityHandler.CreateAclEditor(); SetPermissions(content, request, editor); editor.Apply(); return(content); }
public object SetGroupPermissions(SetPermissionsRequest request) { // Variables. var userService = Services.UserService; var contentService = ApplicationContext.Services.ContentService; var userPermissions = request.UserTypePermissions; var nodeId = request.NodeId; var node = contentService.GetById(nodeId); var permissionsByTypeId = new Dictionary <int, string[]>(); // Add all user types to dictionary. foreach (var u in userService.GetAllUserTypes()) { permissionsByTypeId[u.Id] = new string[] { }; } // Put permissions in dictionary. foreach (var utp in userPermissions) { permissionsByTypeId[utp.UserTypeId] = utp.Permissions; } // Process each user type permission. foreach (var pair in permissionsByTypeId) { // Variables. var cruds = pair.Value.Any() ? string.Join(string.Empty, pair.Value) : "-"; var userType = userService.GetUserTypeById(pair.Key); // Update user type permissions. _userTypePermissionsService.UpdateCruds(userType, node, cruds); // Update user permissions? if (request.ReplacePermissionsOnUsers) { _userTypePermissionsService.CopyPermissions(userType, node); } } // Indicate success. return(new { Success = true }); }
private static void SetPermissions(Content content, SetPermissionsRequest request, SnAclEditor editor) { var contentId = content.Id; foreach (var permReq in request.r) { var member = LoadMember(permReq.identity); var localOnly = permReq.localOnly.HasValue ? permReq.localOnly.Value : false; if (permReq.See != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.See, permReq.See); } if (permReq.Preview != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Preview, permReq.Preview); } if (permReq.PreviewWithoutWatermark != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.PreviewWithoutWatermark, permReq.PreviewWithoutWatermark); } if (permReq.PreviewWithoutRedaction != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.PreviewWithoutRedaction, permReq.PreviewWithoutRedaction); } if (permReq.Open != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Open, permReq.Open); } if (permReq.OpenMinor != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.OpenMinor, permReq.OpenMinor); } if (permReq.Save != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Save, permReq.Save); } if (permReq.Publish != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Publish, permReq.Publish); } if (permReq.ForceCheckin != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.ForceCheckin, permReq.ForceCheckin); } if (permReq.AddNew != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.AddNew, permReq.AddNew); } if (permReq.Approve != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Approve, permReq.Approve); } if (permReq.Delete != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.Delete, permReq.Delete); } if (permReq.RecallOldVersion != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.RecallOldVersion, permReq.RecallOldVersion); } if (permReq.DeleteOldVersion != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.DeleteOldVersion, permReq.DeleteOldVersion); } if (permReq.SeePermissions != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.SeePermissions, permReq.SeePermissions); } if (permReq.SetPermissions != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.SetPermissions, permReq.SetPermissions); } if (permReq.RunApplication != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.RunApplication, permReq.RunApplication); } if (permReq.ManageListsAndWorkspaces != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.ManageListsAndWorkspaces, permReq.ManageListsAndWorkspaces); } if (permReq.TakeOwnership != null) /**/ ProcessPermission{ (editor, contentId, member.Id, localOnly, PermissionType.TakeOwnership, permReq.TakeOwnership); } if (permReq.Custom01 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom01, permReq.Custom01); } if (permReq.Custom02 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom02, permReq.Custom02); } if (permReq.Custom03 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom03, permReq.Custom03); } if (permReq.Custom04 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom04, permReq.Custom04); } if (permReq.Custom05 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom05, permReq.Custom05); } if (permReq.Custom06 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom06, permReq.Custom06); } if (permReq.Custom07 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom07, permReq.Custom07); } if (permReq.Custom08 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom08, permReq.Custom08); } if (permReq.Custom09 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom09, permReq.Custom09); } if (permReq.Custom10 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom10, permReq.Custom10); } if (permReq.Custom11 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom11, permReq.Custom11); } if (permReq.Custom12 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom12, permReq.Custom12); } if (permReq.Custom13 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom13, permReq.Custom13); } if (permReq.Custom14 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom14, permReq.Custom14); } if (permReq.Custom15 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom15, permReq.Custom15); } if (permReq.Custom16 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom16, permReq.Custom16); } if (permReq.Custom17 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom17, permReq.Custom17); } if (permReq.Custom18 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom18, permReq.Custom18); } if (permReq.Custom19 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom19, permReq.Custom19); } if (permReq.Custom20 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom20, permReq.Custom20); } if (permReq.Custom21 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom21, permReq.Custom21); } if (permReq.Custom22 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom22, permReq.Custom22); } if (permReq.Custom23 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom23, permReq.Custom23); } if (permReq.Custom24 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom24, permReq.Custom24); } if (permReq.Custom25 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom25, permReq.Custom25); } if (permReq.Custom26 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom26, permReq.Custom26); } if (permReq.Custom27 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom27, permReq.Custom27); } if (permReq.Custom28 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom28, permReq.Custom28); } if (permReq.Custom29 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom29, permReq.Custom29); } if (permReq.Custom30 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom30, permReq.Custom30); } if (permReq.Custom31 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom31, permReq.Custom31); } if (permReq.Custom32 != null) { ProcessPermission(editor, contentId, member.Id, localOnly, PermissionType.Custom32, permReq.Custom32); } } editor.Apply(); }
public object SetGroupPermissions(SetPermissionsRequest request) { // Variables. var userService = Services.UserService; var contentService = ApplicationContext.Services.ContentService; var userPermissions = request.UserTypePermissions; var nodeId = request.NodeId; var node = contentService.GetById(nodeId); var permissionsByTypeId = new Dictionary<int, string[]>(); // Add all user types to dictionary. foreach (var u in userService.GetAllUserTypes()) { permissionsByTypeId[u.Id] = new string[] { }; } // Put permissions in dictionary. foreach (var utp in userPermissions) { permissionsByTypeId[utp.UserTypeId] = utp.Permissions; } // Process each user type permission. foreach (var pair in permissionsByTypeId) { // Variables. var cruds = pair.Value.Any() ? string.Join(string.Empty, pair.Value) : "-"; var userType = userService.GetUserTypeById(pair.Key); // Update user type permissions. _userTypePermissionsService.UpdateCruds(userType, node, cruds); // Update user permissions? if (request.ReplacePermissionsOnUsers) { _userTypePermissionsService.CopyPermissions(userType, node); } } // Indicate success. return new { Success = true }; }