Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. function breakSecurityInheritance(lastItemId) {
  2. var siteUrl = _spPageContextInfo.webAbsoluteUrl;
  3. var clientPContext = new SP.ClientContext(siteUrl);
  4. var collGroup = clientPContext.get_web().get_siteGroups();
  5. var oList = clientPContext.get_web().get_lists().getByTitle($('[id$=hdnHomePagePreviewList]').val());
  6. this.oListPItem = oList.getItemById(lastItemId);
  7.  
  8. // Authoring group permissions start
  9. oListPItem.breakRoleInheritance(false, true);
  10.  
  11. var allGropIds = $('[id$=hdnAllAuthoringGroupIds]').val().split(';');
  12. for (var v = 0; v < allGropIds.length; v++) {
  13. var groupDetails = allGropIds[v].split(',');
  14. if (groupDetails[1] == "Contribute") {
  15. var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
  16. collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.contributor));
  17. }
  18. else if (groupDetails[1] == "Full Control") {
  19. var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
  20. collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.administrator));
  21. }
  22. else if (groupDetails[1] == "Read") {
  23. var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
  24. collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.reader));
  25. }
  26. var oGroup = collGroup.getById(groupDetails[0]);
  27. oListPItem.get_roleAssignments().add(oGroup, collRoleDefinitionBinding);
  28. }
  29. // Authoring group permissions end
  30.  
  31. clientPContext.load(oListPItem);
  32.  
  33. clientPContext.executeQueryAsync(Function.createDelegate(this, this.onQueryPermissionsSucceeded), Function.createDelegate(this, this.onQueryPermissionsFailed));
  34. }
  35.  
  36. SPGroup group = web.SiteGroups[groupName];
  37. SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
  38. SPRoleDefinition roleDefinition = web.RoleDefinitions["Approve"];
  39. roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
  40. roles.Add(roleAssignment);
  41.  
  42. else if (groupDetails[1] == "Approve") {
  43. var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
  44. collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByName('Approve'));
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement