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-19-2022 05:29 AM
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
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-19-2022 10:06 PM
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
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-21-2022 09:52 PM
Any update to this?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2022 12:34 AM
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
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-19-2022 05:30 AM
Hello
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]);
}
}