- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2019 07:38 AM
Hi,
When I "Submit" a Service catalog item on service Portal, the request page (sc_request) opens.
I would like a rediction of this submit to ritm page instead sc_request page.
I know I have to modifiy the clone of the widget "SC Catalog Item" but I don't know how.
Any idea ?
Thanks for your help,
Solved! Go to Solution.
- Labels:
-
Service Portal Development
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-20-2019 08:55 AM
Hi there,
I am not sure it is relevant for you anymore, but still, in case someone else needs it, this is what worked for me:
1. Clone the SC Catalog Item widget
2. change the client script:
(look for "$location.search('id=sc_request&is_new_order..." around line 510)
//$location.search('id=sc_request&is_new_order=true&table=sc_request&sys_id=' + a.sys_id); //--> we do not want to redirect to the sc_request page
c.data.myrequest = a.sys_id;
c.server.update();
setTimeout(function(){
var ritmid = c.data.ritmId;
$location.search('id=form&table=sc_req_item&view=ess&sys_id=' + ritmid);
}, 400);
}
3. and in the server script, arounbd line 11, right after return;, add
if(input) {
if(input.myrequest != undefined) {
var ritm = new GlideRecord('sc_req_item');
ritm.addQuery('request',input.myrequest); //from line 514 in the client script ritm.query();
//If exactly one RITM is returned, pass to the Client Controller to redirect user
if(ritm.next()) {
data.ritmId = ritm.getUniqueValue();
}
}
That's it.
harel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2020 10:38 AM
Not sure what you mean.
Once submitted, the user is redirected...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-24-2020 07:21 AM
Hi, I was wondering where exactly the code in the server script goes? I've tried this solution but it didn't work, and I'm wondering if i put the server code in the wrong place.
Thanks very much,
Sarah
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-27-2024 10:25 AM
Thank you for the posts. I used your code to come up with my solution. I cloned the SC Order Guide. The requirement was to submit to the RITM.
Client Script:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-24-2020 11:30 AM
Right at the beginning, below the line 6
// populate the 'data' variable with catalog item, variables, and variable view
(function() {
var embeddedWidgetOptions = ['auto_redirect', 'requested_for_id', 'requested_for_display'];
if (input && input.action == "from_attachment")
return;
--> inserted the server side code here
harel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2020 07:16 AM
@oharel
you forgot to put ritm.query() on the server side.
if it still don't work for someone, try to change the client function from setTimeout() to then(). works fine for me.