Ayuda, Script para mostrar/ocultar un boton.
-
17. januar 2012 18:17
Hola amigos, tengo un pequeño problema, tengo un script donde segun el security role que tenga el usuario muestra u oculta un boton, el script es el siguiente:
function test(){
alert("1");
var serverUrl = Xrm.Page.context.getServerUrl();
var query = "/XRMServices/2011/OrganizationData.svc/RoleSet?$top=1&$filter=Name eq 'System Administrator'&$select=RoleId";
var retrieveRoleRequest = new XMLHttpRequest();
var usr = "";
retrieveRoleRequest.open("GET", serverUrl + query, true);
//retrieveRoleRequest.onreadystatechange;
retrieveRoleRequest.onreadystatechange = function(){
if (retrieveRoleRequest.readyState == 4){
if (retrieveRoleRequest.status == 200){
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
xmlDoc.async = false;
xmlDoc.loadXML(retrieveRoleRequest.responseText);
var sysAdminRoleId = xmlDoc.selectSingleNode("//*[local-name() = 'RoleId']").text;
var currentUserRoles = Xrm.Page.context.getUserRoles();
var message = "";
for (var i = 0; i < currentUserRoles.length; i++)
{
var userRole = currentUserRoles[i];
if (userRole == sysAdminRoleId)
{
alert("The current user has the 'System Administrator' role.");
usr = "admin";
return usr;
}
}
alert("The current user does not have the 'System Administrator' role.");
usr = "noAdmin";
return usr;
}
}
return usr;
};
retrieveRoleRequest.send();
//alert(retrieveRoleRequest.onreadystatechange);
if(usr == "admin")
{
alert("prende");
return true;
}
else
{
alert("apaga");
return false;
}
}
y la parte del customizing es:
<EnableRule Id="Test.Admin.display">
<CustomRule FunctionName="test" Library="$webresource:Test_admin_role" InvertResult="true">
<BoolParameter Value="true" />
</CustomRule>
</EnableRule>
Gracias por su ayuda.