Current User Security Roles and hide tab / field / Button base on
that
Here is some code for Javascript in CRM 4.0 I
am using , it will help you to hide/ disable Tab, Field, Section using
Javascript in CRM 4.0
// pass string of role like Sales Person,/
Administrator and check if that is role exist
function
CheckCurrentRole()
{
//
var userXml =
GetUserRoles();
if(userXml != null)
{
//select the node text
var
allRoles = userXml.selectNodes("//BusinessEntity/q1:name");
if(allRoles !=
null)
{
for(int i = 0; i < text ="="" visibility = "hidden" position =
"absolute" text ="="" lisdocument ="
document.getElementsByTagName('LI');
}
j= j +
1;
}
}
}}}
}
function GetUserRoles(){
// define
XML for retrieve query, for more ask me if you have to buid any query
regarding
var xmlQuery = "" + "" + "
var
xmlHttpRequest = new
ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST",
"/mscrmservices/2007/CrmService.asmx",
false);
xmlHttpRequest.setRequestHeader("SOAPAction","
http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");xmlHttpRequest.setRequestHeader("Content-Type",
"text/xml; charset=utf-8");xmlHttpRequest.setRequestHeader("Content-Length",
xml.length);
// send xml query and get xml data from CRM in
Javascript.
xmlHttpRequest.send(xmlquery);
var resultXml =
xmlHttpRequest.responseXML;
// return xml for user
role
return(resultXml);}
If you have to get current
user info ( user id, organization id, etc)
// Get Current User
Information in Javascript
function GetWhoAmI(){
var crmserver = http://crmserver/;
var xmlhttp = new
ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST",crmserver +
"/mscrmservices/2007/crmservice.asmx",
false);
xmlhttp.setRequestHeader("Content-Type", "text/xml;
charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", http://schemas.microsoft.com/crm/2007/WebServices/Execute);
var
soapBody = "
var soapXml =
"
GenerateAuthenticationHeader();soapXml += soapBody;soapXml +=
"
xmlhttp.send(soapXml);
xmlDoc=new
ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
// Load XML and
parse the nodes.
xmlDoc.loadXML(xmlhttp.responseXML.xml);
// Get Current
User ID
var uid =
xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;
// Get
Current Business Unit ID
var bid =
xmlDoc.getElementsByTagName("BusinessUnitId")[0].childNodes[0].nodeValue;
//
Get Current Organization ID Value
var oid =
xmlDoc.getElementsByTagName("OrganizationId")[0].childNodes[0].nodeValue;
alert("Current
User Id: " + uid + "\r\nBusiness Unit Id: " + bid + "\r\nOrganization Id: " +
oid);
}

