The below code will be used to find whether the user has specific or not. "Edit Address Info" is the role name that we are checking.
function checkRole()
{
IsUserHaveRequiredRole("Edit Address Info")
}
function IsUserHaveRequiredRole( rolename) {
var currentUserRoles = Xrm.Page.context.getUserRoles( );
var Query = "/RoleSet?$filter=Name eq '" + rolename + "'";
var Result = getRESTQueryResult(Query);
var currentUserRoles = Xrm.Page.context.getUserRoles( );
var HasRole = false;
for (role in currentUserRoles) {
for (allowedrole in Result.results) {
if (currentUserRoles[role] == Result.results[allowedrole]. RoleId) {
HasRole = true;
}
}
}
return HasRole;
}
function getRESTQueryResult(RESTQuery) {
var oDataEndPointUrl = serverUrl + "/XRMServices/2011/ OrganizationData.svc/";
oDataEndPointUrl += RESTQuery;
var service = GetRequestObject();
if (service != null) {
service.open("GET", oDataEndPointUrl, false);
service.setRequestHeader("X- Requested-Width", "XMLHttpRequest");
service.setRequestHeader(" Accept", "application/json, text/javascript, */*");
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
return requestResults;
}
return '';
}
function GetRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
try {
return new ActiveXObject("MSXML2.XMLHTTP. 3.0");
}
catch (ex) {
return null;
}
}
}
{
IsUserHaveRequiredRole("Edit Address Info")
}
function IsUserHaveRequiredRole(
var currentUserRoles = Xrm.Page.context.getUserRoles(
var Query = "/RoleSet?$filter=Name eq '" + rolename + "'";
var Result = getRESTQueryResult(Query);
var currentUserRoles = Xrm.Page.context.getUserRoles(
var HasRole = false;
for (role in currentUserRoles) {
for (allowedrole in Result.results) {
if (currentUserRoles[role] == Result.results[allowedrole].
HasRole = true;
}
}
}
return HasRole;
}
function getRESTQueryResult(RESTQuery) {
var oDataEndPointUrl = serverUrl + "/XRMServices/2011/
oDataEndPointUrl += RESTQuery;
var service = GetRequestObject();
if (service != null) {
service.open("GET", oDataEndPointUrl, false);
service.setRequestHeader("X-
service.setRequestHeader("
service.send(null);
var requestResults = eval('(' + service.responseText + ')').d;
return requestResults;
}
return '';
}
function GetRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
try {
return new ActiveXObject("MSXML2.XMLHTTP.
}
catch (ex) {
return null;
}
}
}
No comments:
Post a Comment