Catalog Client Scripts: Get User Mobile Phone

rmechols
Kilo Contributor

In our request catalog we auto populate "On behalf of" and their "location." The Get User Location client Script looks like this:

 

function onChange(control, oldValue, newValue, isLoading) {

if (newValue == '') {

return;

}

 

var obo = g_form.getValue('on_behalf_of').toString();

 

var user = new GlideRecord('sys_user');

user.addQuery('sys_id',obo);

user.query(callBack);

 

function callBack(user){

if(user.next()){

g_form.setValue('location',user.location);

}

}

//Type appropriate comment here, and begin script below

 

}

 

It works like a charm. I am running into issues adding the User's Phone number. I modified the Get User Location Script but I can't get it to populate the phone onChange:

 

function onChange(control, oldValue, newValue, isLoading) {

if (newValue == '') {

return;

}

 

var obo = g_form.getValue('on_behalf_of').toString();

 

var user = new GlideRecord('sys_user');

user.addQuery('sys_id',obo);

user.query(callBack);

 

function callBack(user){

if(user.next()){

g_form.setValue('phone',user.mobile_phone);

}

}

//Type appropriate comment here, and begin script below

 

}

 

What am I missing? 

Thank you

 

1 ACCEPTED SOLUTION

Abhinay Erra
Giga Sage

In the catalog client script screenshot, the variable you selected is phone, it should be on behalf of instead. Change it to on behalf of and you are good to go

View solution in original post

15 REPLIES 15

Abhinay Erra
Giga Sage

Script looks good to me. What is the variable type of "phone " here?

rmechols
Kilo Contributor

It is the name of the variable "Phone Number" in the request

find_real_file.png

Can you right click on your variable and configure it and let me know what is the type of the variable. It should be a Single line text because mobile_phone is string field on user table.

It is a reference (Like the "on behalf of" and "location." The Mobile number is location in the sys_user table. 

 

find_real_file.png