- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 08:48 AM - edited 03-14-2023 08:50 AM
Hi All,
I need to populate user's details on catalog item of logged in user as well as when requested for changes.
fields are - requested for, email, phone, manager, manager phone, manager email.
Note: I have added default values in variable for logged in user details.
Thanks in advance
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 09:29 AM
Client script
function onChange(control, oldValue, newValue, isLoading) {
if (newValue == '') {
return;
}
//Type appropriate comment here, and begin script below
var reqFor = g_form.getValue('requested_for');//replace with your variable backend value
var ajax = new GlideAjax('insert_ur_script_include_name_here');
ajax.addParam('sysparm_name','getUserData');
ajax.addParam('sysparm_userData', reqFor );
ajax.getXML(calBck);
function calBck(response){
var answer = response.responseXML.documentElement.getAttribute('answer');
var userObj = JSON.parse(answer);
g_form.setValue('field_name1',userObj.propertynameofemail);//email var backend val
g_form.setValue('field_name2',userObj.propertynameofphone);/phone var backend val
//u can add more variables & access via their property names
}
}
Script Include: Make sure to check the client callable checkbox
getUserData: function() {
var userId = this.getParameter('sysparm_userData');
var grUser = new GlideRecord('sys_user');
grUser.get(userId);
var uObj = {
"propertynameofemail" : grUser.getValue('email'),
"propertynameofphone" : grUser.getValue('phone'),
//add other entries similarly
}
return JSON.stringify(uObj);
},
Let me know if this helps!
Thanks,
Nikita Kale
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 08:57 AM
Hi
You can create an on change client script on the field 'requested for', fetch all the details in an object via a script include & set them.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 09:00 AM
Hi Nikita,
could you please help me with the script.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 09:29 AM
Client script
function onChange(control, oldValue, newValue, isLoading) {
if (newValue == '') {
return;
}
//Type appropriate comment here, and begin script below
var reqFor = g_form.getValue('requested_for');//replace with your variable backend value
var ajax = new GlideAjax('insert_ur_script_include_name_here');
ajax.addParam('sysparm_name','getUserData');
ajax.addParam('sysparm_userData', reqFor );
ajax.getXML(calBck);
function calBck(response){
var answer = response.responseXML.documentElement.getAttribute('answer');
var userObj = JSON.parse(answer);
g_form.setValue('field_name1',userObj.propertynameofemail);//email var backend val
g_form.setValue('field_name2',userObj.propertynameofphone);/phone var backend val
//u can add more variables & access via their property names
}
}
Script Include: Make sure to check the client callable checkbox
getUserData: function() {
var userId = this.getParameter('sysparm_userData');
var grUser = new GlideRecord('sys_user');
grUser.get(userId);
var uObj = {
"propertynameofemail" : grUser.getValue('email'),
"propertynameofphone" : grUser.getValue('phone'),
//add other entries similarly
}
return JSON.stringify(uObj);
},
Let me know if this helps!
Thanks,
Nikita Kale
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2023 10:02 AM
Thank you so much for reply Nikita.
I'll surely let you know if this works