CheckUserRole
function CheckUserRole(roleName) {
var currentUserRoles = Xrm.Page.context.getUserRoles();
for (var i = 0; i < currentUserRoles.length; i++) {
var userRoleId = currentUserRoles[i];
var userRoleName = GetRoleName(userRoleId);
if (userRoleName == roleName) {
return true;
}
}
return false;
}
function GetRoleName(userRoleId) {
var selectQuery = "/RoleSet?$top=1&$filter=RoleId eq guid'" + userRoleId + "'&$select=Name";
var odataSelect = Xrm.Page.context.getClientUrl() + "/XRMServices/2011/OrganizationData.svc" + selectQuery;
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) {
var result = data.d;
if (!!result) {
roleName = result.results[0].Name;
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
}
});
return roleName;
}