The message box used here is a VB message box. to use VB in JScript, execScript function is used.
function window.confirm(str)
{
execScript("n = msgbox('" +str+ "','4132', 'Title')", 'vbscript');
return( n == 6);
}
Monday, November 10, 2008
JScript Scripts for User info and User Roles for Client Side
based on some sources and my alterations:
Bill Owens : http://billoncrmtech.blogspot.com/2008/07/client-side-scripting-retrieving.html
Ronald Lehman : http://ronaldlemmen.blogspot.com/2006/05/finally-there-show-and-hide-fields.html
function getUserRoles( userId)
{
try
{
var command = new RemoteCommand("UserManager", "GetUserRoles");
command.SetParameter("userIds", "" + userId + " ");
var oResult = command.Execute();
if (oResult.Success)
{
return oResult.ReturnValue;
}
}
catch(e)
{
alert("Error while retrieving roles.");
}
return null;
}
function userHasRole( userId, roleName, roles)
{
if ( roles == null)
roles = getUserRoles( userId);
if (roles != null)
{
// alert( result);
var oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.resolveExternals = false;
oXml.async = false;
oXml.loadXML( roles);
roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']");
// alert( "roleNode = " + roleNode );
if (roleNode != null)
{
// if (roleNode.selectSingleNode("roleid[@checked='true']") != null)
if (roleNode.selectSingleNode("roleid") != null)
return true;
}
}
return false;
}
function getUserData()
{
var xml = "" +
"" +
"" +
GenerateAuthenticationHeader() +
"" +
"" +
"" +
"systemuser " +
"" +
"" +
"businessunitid " +
"firstname " +
"fullname " +
"lastname " +
"organizationid " +
"systemuserid " +
" " +
" " +
"false " +
"" +
"And " +
"" +
"" +
"systemuserid " +
"EqualUserId " +
" " +
" " +
" " +
" " +
" " +
" " +
" " +
"";
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);
xmlHttpRequest.send(xml);
var resultXml = xmlHttpRequest.responseXML;
var entityNode = resultXml.selectSingleNode("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");
var firstNameNode = entityNode.selectSingleNode("q1:firstname");
var lastNameNode = entityNode.selectSingleNode("q1:lastname");
var fullNameNode = entityNode.selectSingleNode("q1:fullname");
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid");
var businessUnitIdNode = entityNode.selectSingleNode("q1:businessunitid");
var organizationIdNode = entityNode.selectSingleNode("q1:organizationid");
var result = new Object;
result.firstName = (firstNameNode == null) ? null : firstNameNode.text;
result.lastName = (lastNameNode == null) ? null : lastNameNode.text;
result.fullName = ( fullNameNode == null) ? null : fullNameNode.text;
result.userId = (systemUserIdNode == null) ? null : systemUserIdNode.text;
result.unitId = (businessUnitIdNode == null) ? null : businessUnitIdNode.text;
result.organizationId = (organizationIdNode == null) ? null : organizationIdNode.text;
return result;
}
Bill Owens : http://billoncrmtech.blogspot.com/2008/07/client-side-scripting-retrieving.html
Ronald Lehman : http://ronaldlemmen.blogspot.com/2006/05/finally-there-show-and-hide-fields.html
function getUserRoles( userId)
{
try
{
var command = new RemoteCommand("UserManager", "GetUserRoles");
command.SetParameter("userIds", "
var oResult = command.Execute();
if (oResult.Success)
{
return oResult.ReturnValue;
}
}
catch(e)
{
alert("Error while retrieving roles.");
}
return null;
}
function userHasRole( userId, roleName, roles)
{
if ( roles == null)
roles = getUserRoles( userId);
if (roles != null)
{
// alert( result);
var oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.resolveExternals = false;
oXml.async = false;
oXml.loadXML( roles);
roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']");
// alert( "roleNode = " + roleNode );
if (roleNode != null)
{
// if (roleNode.selectSingleNode("roleid[@checked='true']") != null)
if (roleNode.selectSingleNode("roleid") != null)
return true;
}
}
return false;
}
function getUserData()
{
var xml = "" +
"" +
"
GenerateAuthenticationHeader() +
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"";
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);
xmlHttpRequest.send(xml);
var resultXml = xmlHttpRequest.responseXML;
var entityNode = resultXml.selectSingleNode("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");
var firstNameNode = entityNode.selectSingleNode("q1:firstname");
var lastNameNode = entityNode.selectSingleNode("q1:lastname");
var fullNameNode = entityNode.selectSingleNode("q1:fullname");
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid");
var businessUnitIdNode = entityNode.selectSingleNode("q1:businessunitid");
var organizationIdNode = entityNode.selectSingleNode("q1:organizationid");
var result = new Object;
result.firstName = (firstNameNode == null) ? null : firstNameNode.text;
result.lastName = (lastNameNode == null) ? null : lastNameNode.text;
result.fullName = ( fullNameNode == null) ? null : fullNameNode.text;
result.userId = (systemUserIdNode == null) ? null : systemUserIdNode.text;
result.unitId = (businessUnitIdNode == null) ? null : businessUnitIdNode.text;
result.organizationId = (organizationIdNode == null) ? null : organizationIdNode.text;
return result;
}
Subscribe to:
Comments (Atom)