Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 82002

Lock fields in MS CRM form using Security Role

$
0
0

Hello Everyone,

I got a requirement to lock the fields in the form based on the security role . I wrote the code but somehow it is throwing an error . Please kindly help me 

Here is my code 

function OnLoad() {

if (UserHasRole("SecurityRole1") || UserHasRole("SecurityRole2")) {

Xrm.Page.getControl(“Fieldname1”).setDisabled(true);
Xrm.Page.getControl(“Fieldname2”).setDisabled(true);
Xrm.Page.getControl(“Fieldname3”).setDisabled(true);
Xrm.Page.getControl(“Fieldname4”).setDisabled(true);
Xrm.Page.getControl(“Fieldname5”).setDisabled(true);

} else {
Xrm.Page.getControl(“Fieldname1”).setDisabled(false);
Xrm.Page.getControl(“Fieldname2”).setDisabled(false);
Xrm.Page.getControl(“Fieldname3”).setDisabled(false);
Xrm.Page.getControl(“Fieldname4”).setDisabled(false);
Xrm.Page.getControl(“Fieldname5”).setDisabled(false);

}
}


function UserHasRole(roleName) {

var serverUrl = Xrm.Page.context.getServerUrl();
var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/";

oDataEndpointUrl += "RoleSet?$top=1&$filter=Name eq '" + roleName + "'";

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;

if (requestResults != null && requestResults.results.length == 1) {
var role = requestResults.results[0];

var id = role.RoleId;

var currentUserRoles = Xrm.Page.context.getUserRoles();

for (var i = 0; i < currentUserRoles.length; i++) {
var userRole = currentUserRoles[i];
if (GuidsAreEqual(userRole, id)) {
return true;
}
}
}
}

return false;
}

function GetRequestObject() {
if (window.XMLHttpRequest) {
return new window.XMLHttpRequest;
} else {
try {
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
} catch (ex) {
return null;
}
}
}

function GuidsAreEqual(guid1, guid2) {
var isEqual = false;

if (guid1 == null || guid2 == null) {
isEqual = false;
} else {
isEqual = guid1.replace(/[{}]/g, "").toLowerCase() == guid2.replace(/[{}]/g, "").toLowerCase();
}

return isEqual;
}

Calling the function on Form Onload 

Error I am getting : SyntaxError: Unexpected token (
at RunHandlerInternal

 Please Kindly Help me 


Viewing all articles
Browse latest Browse all 82002

Latest Images

Trending Articles



Latest Images