In MS CRM user roles plays very crucial role in project requirements. Using Javascript we can get the role of an user and write logic accordingly as per the roles.
Below is the code snippet to get role of an user. This function will returns true if the user role is 'System Administrator' or else it will returns false.
//Check login User has 'System Administrator' role function CheckUserRole() { var currentUserRoles = Xrm.Page.context.getUserRoles(); for (var i = 0; i < currentUserRoles.length; i++) { var userRoleId = currentUserRoles[i]; var userRoleName = GetRoleName(userRoleId); if (userRoleName == "System Administrator") { return true; } } return false; } //Get Rolename based on RoleId function GetRoleName(roleId) { //var serverUrl = Xrm.Page.context.getServerUrl(); var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName(); var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "RoleSet?$filter=RoleId eq guid'" + roleId + "'"; var roleName = null; $.ajax( { type: "GET", async: false, contentType: "application/json; charset=utf-8", datatype: "json", url: odataSelect, beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); }, success: function (data, textStatus, XmlHttpRequest) { roleName = data.d.results[0].Name; }, error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect); } } ); return roleName; }
No comments:
Post a Comment