Inicio
> Informática e Internet > Obtener el rol de un usuario de CRM 3.0 desde el cliente
Obtener el rol de un usuario de CRM 3.0 desde el cliente
function getUserId() { try { var command = new RemoteCommand("SystemUser", "WhoAmI", "/MSCRMServices/"); var oResult = command.Execute(); if (oResult.Success){ return oResult.ReturnValue.UserId; } } catch(e){ alert("Error al obtener el Id del usuario"); } return null; } function getUserRoles(userId) { try { var command = new RemoteCommand("UserManager", "GetUserRoles"); command.SetParameter("userIds", "<guid>" + userId + "</guid>"); var oResult = command.Execute(); if (oResult.Success){ return oResult.ReturnValue; } } catch(e){ alert("Erorr al obtener los roles del usuario" + userId.toString()); } return null; } function userHasRole(userId, roleName){ result = getUserRoles(userId); if (result != null){ var oXml = new ActiveXObject("Microsoft.XMLDOM"); oXml.resolveExternals = false; oXml.async = false; oXml.loadXML(result); roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']"); if (roleNode != null){ if (roleNode.selectSingleNode("roleid[@checked='true']") != null) return true; } } return false; } function currentUserHasRole(roleName){ userId = getUserId(); return userHasRole(userId, roleName); } if(currentUserHasRole('Administración de ventas')){ crmForm.all.ks_prorroga.Disabled=false; } else{ crmForm.all.ks_prorroga.Disabled=true; }
Categorías: Informática e Internet
Comentarios (0)
Trackbacks (0)
Deja un comentario
Trackback