function breakSecurityInheritanceAddUser(vals1) { var itemId = _spPageContextInfo.pageItemId; //alert(itemId); var clientContext = SP.ClientContext.get_current(); var oList = clientContext.get_web().get_lists().getByTitle('Pages'); this.oListItem = oList.getItemById(itemId); //alert("0"); oListItem.breakRoleInheritance(false, true); while (oListItem.RoleAssignments.Count > 0) { item.RoleAssignments.Remove(0); } //alert("1"); for(var j=0; j < vals1.length; j++){ // alert(vals1[j]); var groupCollection = clientContext.get_web().get_siteGroups(); this.oUser=groupCollection.getByName(vals1[j]); // alert("2"); var collRoleDefinitionBinding = SP.RoleDefinitionBindingCollection.newObject(clientContext); collRoleDefinitionBinding.add(clientContext.get_web().get_roleDefinitions().getByType(SP.RoleType.reader)); //alert("3"); oListItem.get_roleAssignments().add(oUser, collRoleDefinitionBinding); clientContext.load(oUser); clientContext.load(oListItem); //alert("4"); clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceededRole), Function.createDelegate(this, this.onQueryFailedRole)); } alert("Page permissions has been updated"); } function onQuerySucceededRole(sender, args) { //alert('Role inheritance broken for item ' + this.oListItem.get_item('Title') +' and new role assignment for ' + this.oUser.get_loginName()); } function onQueryFailedRole(sender, args) { // console.loge('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); }
i am using above code to brake the permission inheritance and to add new SharePoint group to page library.
when am going add new SharePoint group i need to remove existing groups from from document library.
please help me