- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-15-2017 05:48 AM
Hello,
I have a requirement to redirect to a Service Catalog item from a UI Action Form Button and set a specific value that will trigger other fields to be populated. I currently have the UI Action in place and it is redirecting to the correct Catalog Item, however I'm having trouble setting the value on the Catalog Item. Below is the code for my UI Action and Script Include:
UI Action:
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2018 12:05 PM
I ended up passing the form values to the catalog form through the URL. Code is below:
Catalog Client Script:
function onLoad() {
//Type appropriate comment here, and begin script below
var user = getParmVal('sysparm_user');
var first_name = getParmVal('sysparm_first_name');
var last_name = getParmVal('sysparm_last_name');
var user_id = getParmVal('sysparm_user_id');
var email = getParmVal('sysparm_email');
var business_phone = getParmVal('sysparm_business_phone');
var mobile_phone = getParmVal('sysparm_mobile_phone');
var street = getParmVal('sysparm_street');
var street2 = getParmVal('sysparm_street2');
var city = getParmVal('sysparm_city');
var state = getParmVal('sysparm_state');
var zip = getParmVal('sysparm_zip');
if(user){
g_form.setValue('user_ref', user);
g_form.setValue('first_name', first_name);
g_form.setValue('last_name', last_name);
g_form.setValue('user_id', user_id);
g_form.setValue('email', email);
g_form.setValue('business_phone', business_phone);
g_form.setValue('mobile_phone', mobile_phone);
g_form.setValue('street', street);
g_form.setValue('street2', street2);
g_form.setValue('city', city);
g_form.setValue('state', state);
g_form.setValue('zip', zip);
}
function getParmVal(name){
var url = document.URL.parseQuery();
if(url[name]){
return decodeURI(url[name]);
} else {
return;
}
}
}
UI Action form button:
var user = current.sys_id;
var first_name = current.first_name;
var last_name = current.last_name;
var user_id = current.user_name;
var email = current.email;
var business_phone = current.phone;
var mobile_phone = current.mobile_phone;
var street = current.street;
var street2 = current.u_street2;
var city = current.city;
var state = current.state;
var zip = current.zip;
gs.setRedirect('com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=1248c78d37440f40f51ea6d2b3990e67&sysparm_user=' + user + '&sysparm_first_name=' + first_name + '&sysparm_last_name=' + last_name + '&sysparm_user_id=' + user_id + '&sysparm_email=' + email + '&sysparm_business_phone=' + business_phone + '&sysparm_mobile_phone=' + mobile_phone + '&sysparm_street=' + street + '&sysparm_street2=' + street2 + '&sysparm_city=' + city + '&sysparm_state=' + state + '&sysparm_zip=' + zip);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2018 01:57 AM
...so?
U managed? Could you tell me how it finally worked?
Thank you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-18-2018 12:05 PM
I ended up passing the form values to the catalog form through the URL. Code is below:
Catalog Client Script:
function onLoad() {
//Type appropriate comment here, and begin script below
var user = getParmVal('sysparm_user');
var first_name = getParmVal('sysparm_first_name');
var last_name = getParmVal('sysparm_last_name');
var user_id = getParmVal('sysparm_user_id');
var email = getParmVal('sysparm_email');
var business_phone = getParmVal('sysparm_business_phone');
var mobile_phone = getParmVal('sysparm_mobile_phone');
var street = getParmVal('sysparm_street');
var street2 = getParmVal('sysparm_street2');
var city = getParmVal('sysparm_city');
var state = getParmVal('sysparm_state');
var zip = getParmVal('sysparm_zip');
if(user){
g_form.setValue('user_ref', user);
g_form.setValue('first_name', first_name);
g_form.setValue('last_name', last_name);
g_form.setValue('user_id', user_id);
g_form.setValue('email', email);
g_form.setValue('business_phone', business_phone);
g_form.setValue('mobile_phone', mobile_phone);
g_form.setValue('street', street);
g_form.setValue('street2', street2);
g_form.setValue('city', city);
g_form.setValue('state', state);
g_form.setValue('zip', zip);
}
function getParmVal(name){
var url = document.URL.parseQuery();
if(url[name]){
return decodeURI(url[name]);
} else {
return;
}
}
}
UI Action form button:
var user = current.sys_id;
var first_name = current.first_name;
var last_name = current.last_name;
var user_id = current.user_name;
var email = current.email;
var business_phone = current.phone;
var mobile_phone = current.mobile_phone;
var street = current.street;
var street2 = current.u_street2;
var city = current.city;
var state = current.state;
var zip = current.zip;
gs.setRedirect('com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=1248c78d37440f40f51ea6d2b3990e67&sysparm_user=' + user + '&sysparm_first_name=' + first_name + '&sysparm_last_name=' + last_name + '&sysparm_user_id=' + user_id + '&sysparm_email=' + email + '&sysparm_business_phone=' + business_phone + '&sysparm_mobile_phone=' + mobile_phone + '&sysparm_street=' + street + '&sysparm_street2=' + street2 + '&sysparm_city=' + city + '&sysparm_state=' + state + '&sysparm_zip=' + zip);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-18-2022 06:50 AM
I do not see your UI action attached...I'm trying to solve the same issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-15-2024 08:48 AM
I've used the above suggestion but if I submit the catalog item manually through the portal > it has the same data from last time, from the UI Action.
Is there a solution for this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-15-2024 08:56 AM
I think below link has steps to solve this issue
Regards,
Bharath