Update the specific permission level in SharePoint 2010 using ECMAScript

Update the specific permission level in SharePoint 2010 using ECMAScript

In this article you will see how to update the specific permission level in SharePoint 2010 using ECMAScript.

Introduction:

In this article you will see how to update the specific permission level in SharePoint 2010 using ECMAScript. I have a permission level named “Sample”. I am going to update the name, description and base permissions for the mentioned permission level. (Navigate to the SharePoint site. Click on Site Actions and then click on Site Settings. Click on Site Permissions in the Users and Permissions section. In the ribbon interface, click on Permission Levels. You could be able to view all the permission levels).

Steps Involved:

1.  Navigate to the SharePoint site (I have a site page created in my site where I am going to add the content editor web part).
2.  Go to Site Actions, click on Edit Page.



3.  Click on Insert tab in the ribbon interface and then click on Web Part button.



4.  Select Media and Content in the Categories section and then click on Content Editor.



5.  Click on Add.
6.  Content editor web part will be added to the site page.
7.  Click on down arrow and then click on Edit Web Part.



8.  Click on “Click here to add new content”.
 


9.  Click on Format Text tab in the ribbon interface and then click on HTML drop down.



10.  Click on Edit HTML source.
11.  HTML source window will pop up.
 


12.  Copy and paste the following script.


<script language="ecmascript" type="text/ecmascript">

  var roleDefinitionCollection;
  var roleDefinition;
  var basePermissions;
  function permissionLevel() {
  var clientContext = new SP.ClientContext.get_current();
  if (clientContext != undefined && clientContext != null) {
  var web = clientContext.get_web();
   this.roleDefinitionCollection = web.get_roleDefinitions();
  this.roleDefinition = roleDefinitionCollection.getByName("Sample");
  this.roleDefinition.set_name("Updated Sample");
  this.roleDefinition.set_description("Custom Permission level created using ECMAScript");
  var permissions = new SP.BasePermissions();
  permissions.set(SP.PermissionKind.useRemoteAPIs);
  permissions.set(SP.PermissionKind.manageAlerts);
  permissions.set(SP.PermissionKind.manageWeb);
  permissions.set(SP.PermissionKind.viewUsageData);
  this.roleDefinition.set_basePermissions(permissions);
  this.roleDefinition.update();
  clientContext.load(this.roleDefinition);
   clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
  }
  }

  function onQuerySucceeded() {
  alert("Pemission Level: " + roleDefinition.get_name() + " is updated successfully");

  }


  function onQueryFailed(sender, args) {
  alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
  }</script>
<input id="btnPermissionLevels" onclick="permissionLevel()" type="button" value="Update Permission Level" />



13.  Click on Ok.
14.  In the ribbon interface click on Save & Close button.



15.  In the content editor web part you could find a button named “Update Permission Level”, click on that button.

16.  Alert will pop up.



Reference:
 1.  SP.Web.get_roleDefinitions() Property - http://msdn.microsoft.com/en-us/library/ee553420.aspx
2.  SP.RoleDefinitionCollection.getByName(name) Method - http://msdn.microsoft.com/en-us/library/ee658432.aspx\
3.  SP.RoleDefinition.description Property - http://msdn.microsoft.com/en-us/library/ee550762.aspx
4.  SP.RoleDefinition.name Property - http://msdn.microsoft.com/en-us/library/ee547518.aspx
5.  SP.RoleDefinition.basePermissions Property - http://msdn.microsoft.com/en-us/library/ee554475.aspx
 

Summary:
 
Thus in this article you have seen how to update the specific permission level in SharePoint 2010 using ECMAScript.

Comments