none
Ayuda, Script para mostrar/ocultar un boton.

    Question

  • 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.

     

     

    Tuesday, January 17, 2012 6:17 PM