user details in catalog client script

Ujjwal1
Tera Contributor

hi ,

I am using catalog Client Script  for getting logged in user details. i am trying below script ,i am not able  to get employee_ID(which is field in sys_user) . Please help

 

find_real_file.png

1 ACCEPTED SOLUTION

Raghu Ram Y
Kilo Sage

Hi,

We should not use server side calls on client script, that might be the reason getRowCount is not working..

However, you can replace with glideajax functionality like below..

Client Script

var userid = g_user.userID;
var ga = new GlideAjax('GetLoggedDetails'); 
ga.addParam('sysparm_name','GetName'); 
ga.addParam('sysparm_user_name', userid);  
ga.getXML(HelloWorldParse);  
    
function HelloWorldParse(response) {  
   var answer = response.responseXML.documentElement.getAttribute("answer"); 
    if(answer != 0)
    {
     g_form.setValue('associate_id', answer);
    }
    else
    {
     g_form.addErrorMessage("Please select a valid user");
     return false;
     }
}

 

Script Include

var GetLoggedDetails = Class.create();
GetLoggedDetails .prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
    GetName: function() {
var ret = 0;
        var userName = this.getParameter("sysparm_user_name");
        var grUser = new GlideRecord('sys_user');
        grUser.addQuery("sys_id", userName);
        grUser.query();
        if(grUser.next())
       {
         var ret = grUser.employee_id;
       },
    type: 'GetLoggedDetails'
});

I Hope it helps you, if so please mark my response as both helpful and correct

View solution in original post

2 REPLIES 2

Raghu Ram Y
Kilo Sage

Hi,

We should not use server side calls on client script, that might be the reason getRowCount is not working..

However, you can replace with glideajax functionality like below..

Client Script

var userid = g_user.userID;
var ga = new GlideAjax('GetLoggedDetails'); 
ga.addParam('sysparm_name','GetName'); 
ga.addParam('sysparm_user_name', userid);  
ga.getXML(HelloWorldParse);  
    
function HelloWorldParse(response) {  
   var answer = response.responseXML.documentElement.getAttribute("answer"); 
    if(answer != 0)
    {
     g_form.setValue('associate_id', answer);
    }
    else
    {
     g_form.addErrorMessage("Please select a valid user");
     return false;
     }
}

 

Script Include

var GetLoggedDetails = Class.create();
GetLoggedDetails .prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
    GetName: function() {
var ret = 0;
        var userName = this.getParameter("sysparm_user_name");
        var grUser = new GlideRecord('sys_user');
        grUser.addQuery("sys_id", userName);
        grUser.query();
        if(grUser.next())
       {
         var ret = grUser.employee_id;
       },
    type: 'GetLoggedDetails'
});

I Hope it helps you, if so please mark my response as both helpful and correct

Thanks for quick reply