Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function breakSecurityInheritance(lastItemId) {
- var siteUrl = _spPageContextInfo.webAbsoluteUrl;
- var clientPContext = new SP.ClientContext(siteUrl);
- var collGroup = clientPContext.get_web().get_siteGroups();
- var oList = clientPContext.get_web().get_lists().getByTitle($('[id$=hdnHomePagePreviewList]').val());
- this.oListPItem = oList.getItemById(lastItemId);
- // Authoring group permissions start
- oListPItem.breakRoleInheritance(false, true);
- var allGropIds = $('[id$=hdnAllAuthoringGroupIds]').val().split(';');
- for (var v = 0; v < allGropIds.length; v++) {
- var groupDetails = allGropIds[v].split(',');
- if (groupDetails[1] == "Contribute") {
- var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
- collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.contributor));
- }
- else if (groupDetails[1] == "Full Control") {
- var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
- collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.administrator));
- }
- else if (groupDetails[1] == "Read") {
- var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
- collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByType(SP.RoleType.reader));
- }
- var oGroup = collGroup.getById(groupDetails[0]);
- oListPItem.get_roleAssignments().add(oGroup, collRoleDefinitionBinding);
- }
- // Authoring group permissions end
- clientPContext.load(oListPItem);
- clientPContext.executeQueryAsync(Function.createDelegate(this, this.onQueryPermissionsSucceeded), Function.createDelegate(this, this.onQueryPermissionsFailed));
- }
- SPGroup group = web.SiteGroups[groupName];
- SPRoleAssignment roleAssignment = new SPRoleAssignment(group);
- SPRoleDefinition roleDefinition = web.RoleDefinitions["Approve"];
- roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
- roles.Add(roleAssignment);
- else if (groupDetails[1] == "Approve") {
- var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientPContext);
- collRoleDefinitionBinding.add(clientPContext.get_web().get_roleDefinitions().getByName('Approve'));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement