UI action redirection to previous page issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-15-2020 05:02 PM
we have a UI action Cancel Task on workorder table when clicked it should make the reason for cancellation field mandatory and visible and if entered then it should set the state to cancel, but when I click on the UI action it is redirecting to the previously worked (used page) , not sure how to debug this and it is also not updating the record.
Below is the UI policy to hide the field
UI action :
Script:
function checkReason() {
g_form.setDisplay("u_cancel_reason", true);
if (g_form.getValue('u_cancel_reason') == '') {
g_form.setMandatory("u_cancel_reason", true);
gs.addErrorMessage("a change task must be added before submitting the change");
//alert('Please enter the reason before cancellation');
return false;
}
gsftSubmit(null, g_form.getFormElement(), 'cancel'); // give the action name of your UI Action
}
if (typeof window == 'undefined')
serverResolve();
function serverResolve() {
new global.StateFlow().processFlow(current, 'ffc7a360d7230100fceaa6859e6103ae', 'manual');
//Moving redirect from state flow to UI action
action.setRedirectURL(current);
}
When clicked on the UI action , cancel reason will be mandatory and if selected , there is a OOB in UI action which will enforce worknotes mandatory ,
This is the OOB code
new global.StateFlow().processFlow(current, 'ffc7a360d7230100fceaa6859e6103ae', 'manual');
//Moving redirect from state flow to UI action
action.setRedirectURL(current);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-17-2020 06:27 AM
do you want me to use this code in UI action ? in server side ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-17-2020 06:35 AM
I just commented on the server side , when I click on the cancel it is still redirecting and not updating the record
function serverResolve() {
alert(2);
new global.StateFlow().processFlow(current, 'ffc7a360d7230100fceaa6859e6103ae', 'manual');
//Moving redirect from state flow to UI action
action.setRedirectURL(current);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-17-2020 06:37 AM
Hi,
alert() won't work in server side
use this and check the results; try updating some field. I have used short_description
function serverResolve() {
//new global.StateFlow().processFlow(current, 'ffc7a360d7230100fceaa6859e6103ae', 'manual');
//Moving redirect from state flow to UI action
current.short_description = 'testing';
current.update();
action.setRedirectURL(current);
}
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
‎12-17-2020 06:58 AM
I did that still redirecting back to previous page which I worked on and it is not updating the record
This is the OOB UI action , will that matter ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-17-2020 07:01 AM
No.
Did you check record got updated with that field which you gave
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader