How to populate the logged in user to a variable from the Onload Client script

kavitha_cr
Mega Guru

Hi All,

Requirement: 

On the load of the form, it should populate the logged in user name, company, email Id in the variables on the form level,

I have written a Onload client script to populate the company and email details but I'm unable to get the logged in user name to the field.

Below are scripts

Script Include:

var microsoft_teams_external_calling = Class.create();
microsoft_teams_external_calling.prototype = Object.extendsObject(AbstractAjaxProcessor, {
   
    getEmployeeDetails: function() {
            var requested_for = this.getParameter('sysparm_user_name');
            var result = this.newItem("result");
            var grp1 = new GlideRecord('sys_user');
            grp1.addQuery('sys_id', requested_for);
            grp1.query();
            if(grp1.next()){
                
                result.setAttribute("usserName", grp1.user_name); 
                result.setAttribute("emailID", grp1.email); 
                result.setAttribute("companyName", grp1.company);
            
            return result;
    }
    },
    type: 'microsoft_teams_external_calling'
});

Client Script:

function onLoad() {
    
    var requested_for = g_form.getValue('requested_for');
    var ga = new GlideAjax('microsoft_teams_external_calling');
    ga.addParam('sysparm_name', 'getEmployeeDetails');
    ga.addParam('sysparm_user_name', requested_for);
    ga.getXML(Displayresult);

    function Displayresult(response) {
        var result = response.responseXML.getElementsByTagName("result");

var email_ID = result[0].getAttribute("emailID");
        var Company     = result[0].getAttribute("companyName");
        var UserN  = result[0].getAttribute("usserName");

        g_form.setValue('email', email_ID);
        g_form.setValue('company',Company);
        g_form.setValue('name',UserN);
     
    }
}
    To get the Logged in user and based on that to populate the name, company and email details is what I'm not getting, Can anyone please guide me.

Thanks,

Siva Jyothi.    
 

10 REPLIES 10

Hi,

you can use default value in the variable

1) user name

javascript: gs.getUserName();

2) company ID

javascript: gs.getUser().getCompanyID();

3) Email ID:

javascript: gs.getUser().getEmail();

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Siva Jyothi 

Hope you are doing good.

Did my reply answer your question?

If my response helped please close the thread by marking appropriate response as correct so that it benefits future readers.

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Siva Jyothi 

Any update to this?

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Siva Jyothi 

Hope you are doing good.

Did my reply answer your question?

If my response helped please close the thread by marking appropriate response as correct so that it benefits future readers.

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Mohith Devatte
Tera Sage
Tera Sage

Hello  @Siva Jyothi ,

Please try with below script

var microsoft_teams_external_calling = Class.create();
microsoft_teams_external_calling.prototype = Object.extendsObject(AbstractAjaxProcessor, {
   
    getEmployeeDetails: function() {
            var requested_for = this.getParameter('sysparm_user_name');
            var result = this.newItem("result");
            var grp1 = new GlideRecord('sys_user');
            grp1.addQuery('sys_id', requested_for);
            grp1.query();
            if(grp1.next()){
                
         return grp1.user_name+'|'+grp1.email+'|'+grp1.company'; 
                
    }
    },
    type: 'microsoft_teams_external_calling'
});

Client Script:

function onLoad() {
    
    var requested_for = g_form.getValue('requested_for');
    var ga = new GlideAjax('microsoft_teams_external_calling');
    ga.addParam('sysparm_name', 'getEmployeeDetails');
    ga.addParam('sysparm_user_name', requested_for);
    ga.getXML(Displayresult);

    function Displayresult(response) {
        var result = response.responseXML.getElementsByTagName("result").toString().split('|');



        g_form.setValue('email', result[1]);
        g_form.setValue('company',result[2]);
        g_form.setValue('name',result[0]);
     
    }
}