How to populate the logged in user to a variable from the Onload Client script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2022 08:44 PM
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2022 09:01 PM
Hi replace your script with this
Script Include
getUser: function()
{
var user = this.getParameter("sysparm_id");
var userInform ={};
var gr = new GlideRecord("sys_user");
gr.addQuery("sys_id", user);
gr.query();
if (gr.next()){
userInform.email = gr.getValue("email"); // get email value
userInform.company = gr.getValue("company"); //get company value
userInform.name = gr.getValue("name"); //get namevalue
}
return JSON.stringify(userInform);
},
Onload Client script:
function onLoad() {
var requestor = g_form.getValue("requestor"); // variablename
alert(requestor);
var ga = new GlideAjax("userDetails"); // script include
ga.addParam("sysparm_name", "getUser"); // function from script include
ga.addParam("sysparm_id", requestor); // send value to SI
ga.getXMLAnswer(response);
}
function response(getResponse) {
var answer = JSON.parse(getResponse);
alert(answer);
g_form.setValue("email", answer.email); // variable name
g_form.setValue("company", answer.company);
g_form.setValue("name", answer.name);
}
Harish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-19-2022 05:20 AM
Hi
Thanks for the Response.
Here, on the onload only we are getting null as requested by, so we will have to get the logged in user which I'm not getting.
Thanks,
Siva Jyothi.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-19-2022 06:57 AM
Hi in your requested for variablename have you set default value as JavaScript:gs.getUserID();? If not you need to set it there in order for script to work
Harish
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-19-2022 05:20 AM