jsomShowHidePermissionsBased

Title: Show/Hide the Controls based on Permissions
Description: We have a  requirement that some extra data need to show in form for managers, but not for normal users even though users have full permissions.

Example:
We have Emp Name, Salary and Rating in a form
Normal users do not want to see the Salary and Rating. Only managers can see the Salary and Rating.

Expected Out  Put:

If Managers Log in:

Other Users Login :


Note: Salary and Rating hide



Steps:
Create one Group name called  "Managers" and add the managers who want to see the full data.

Code:

  1.      
  2. <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>  
  3. <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js"></script>  
  4. <script type="text/javascript" src="/_layouts/15/init.js"></script>  
  5. <script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>  
  6. <script type="text/javascript" src="/_layouts/15/sp.js"></script>  
  7. <script type="text/javascript" src="/_layouts/15/MicrosoftAjax.js"></script>  
  8. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>  
  9.   
  10.    
  11. <script type="text/javascript">  
  12.   
  13.   
  14.         var currentContext = new SP.ClientContext.get_current();  
  15.         var groupName="Managers"  
  16.         var currentWeb = currentContext.get_web();  
  17.         var currentUser = currentContext.get_web().get_currentUser();  
  18.         currentContext.load(currentUser);  
  19.         var allGroups = currentWeb.get_siteGroups();  
  20.         currentContext.load(allGroups);  
  21.         var group = allGroups.getByName(groupName);  
  22.         currentContext.load(group);  
  23.         var groupUsers = group.get_users();  
  24.         currentContext.load(groupUsers);  
  25.         currentContext.executeQueryAsync(OnSuccess,OnFailure);  
  26.   
  27.         function OnSuccess(sender, args)  
  28.          {  
  29.               
  30.             var groupUserEnumerator = groupUsers.getEnumerator();  
  31.             while (groupUserEnumerator.moveNext())   
  32.                 {  
  33.                     var groupUser = groupUserEnumerator.get_current();  
  34.                     if (groupUser.get_id() == currentUser.get_id())   
  35.                      {  
  36.                    
  37.                         $("#divManager").show();  
  38.                       }  
  39.                 }    
  40.                
  41.   
  42.          }  
  43.   
  44.         function OnFailure(sender, args)   
  45.   
  46.          {  
  47.              Alert("fail")  
  48.         }       
  49.   
  50.   
  51.   
  52. </script>  
  53.   
  54. Employee Name<input type="text" id="EmpNameTxt" /><br/>  
  55. <div id="divManager" style="display:none;" >  
  56. Salary<input type="text" id="SalaryTxt"  /><br/>  
  57. Rating <input type="text" id="RatingTxt" />  
  58. </div>