Hide show button on security role using JavaScript and ribbon workbench Dynamics 366 or Dataverse
here you will understand how to use Enable Rule to hide or show command button as per security role of current user.
Business Scenario:
The command button “Create Vehicle” on Student table form should only be visible for salesperson security role and for other security role it should be hidden.
Follow the steps below:
Step 1: Create a JS web resource with code
Create a JS web resource and put the below code inside the web resource.
function SecurityCheck(context) { var flag=false; var userRoles=Xrm.Utility.getGlobalContext().userSettings; if(Object.keys(userRoles.roles._collection).length>0) { for ( var rolidcollection in userRoles.roles._collection) { var currentUserRoles= Xrm.Utility.getGlobalContext().userSettings.roles._collection[rolidcollection].name; if(currentUserRoles.toLowerCase()=="salesperson") { flag=true; break; } } } return flag; }
Upload the JS web resource in a solution and Publish the Web resource.
Step 2: Prepare Ribbon Workbench
Create a new solution and add the Student table inside the solution. do not add any sub-components or metadata.
Open Ribbon workbench. if you do not how to open ribbon workbench read my previous blogs on ribbon workbench. In the ribbon workbench, select the solution which contains the table and let the ribbon workbench load the solution entirely.
In the ribbon work bench select the button, you want to se the enable rule. once selected click on Enable rule section and add new rule or type Custom Rule. Select the JS web resource and specify the function name. Add CRM parameter as Primary Control.
Now publish the ribbon workbench solution.
Step 3: Test
Sales Person Logins and opens student record, The button is visible.
Other Users Roles opens the Student record the button in Hidden.
Hope this works. Change the code according to your business need.
Follow my blog for more trending topics on Dynamics 365, Azure, C#, Power Portals and Power Platform. For training, Courses and consulting, call to us at +91 832 886 5778 I am working more for community to share skills in Dynamics 365 and Power Platform. Please support me by subscribing my YouTube Channel. My YouTube Channel link is this : https://www.youtube.com/user/sppmaestro