How to redirect to same page when click on Approve button
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2024 01:28 AM
Hello,
I want to be redirected to the same page when click on E- signature approve button. Is that possible?
note: currently it redirects to previous update page
Thanks in advance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-22-2024 05:44 AM
If you are using client side then we can use the GlideAjax API to call a server-side script include that performs the update and then reload the form.
UI action:
function onApproveClick() {
var sysID = '';
if (gel('sys_uniqueValue'))
sysID = gel('sys_uniqueValue').value;
var ga = new GlideAjax('ESignatureUtils');
ga.addParam('sysparm_name', 'listApprovalCheck');
ga.addParam('sysparm_target_state', 'approved');
ga.addParam('sysparm_sys_ids', sysID);
ga.getXMLAnswer(function(answer) {
if (answer == "prompt_v2") {
displayGreyout();
promptCheck(true, 'approve', function(doPrompt, sysID) {
if (doPrompt != "true") {
processFormUpdateApprovalCheck("no_prompt", sysID, "sysverb_update");
} else {
g_form.previousState = g_form.getValue("state");
g_form.setValue("state", "approved");
processFormUpdateApprovalCheck("prompt_v2", sysID, "sysverb_update");
}
}, sysID);
} else {
g_form.previousState = g_form.getValue("state");
g_form.setValue("state", "approved");
var gaUpdate = new GlideAjax('CustomApprovalUtils');
gaUpdate.addParam('sysparm_name', 'approveRecord');
gaUpdate.addParam('sysparm_sys_id', sysID);
gaUpdate.getXMLAnswer(function(response) {
if (response == "success") {
// Reload the current form to reflect changes
g_form.refresh();
} else {
// Handle error
alert('Approval failed: ' + response);
}
});
}
});
}
Script Include:
approveRecord: function() {
var sysID = this.getParameter('sysparm_sys_id');
var gr = new GlideRecord('sysapproval_approver');
if (gr.get(sysID)) {
gr.setValue('state', 'approved');
gr.update();
return 'success';
} else {
return 'failure';
}
}
Please Mark ✅Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-22-2024 11:08 AM - edited 05-22-2024 11:11 AM
Hi @Maddysunil ,
I have tried the above code and not working as expected. after entered the credintials, it redirects to other pages. any other suggestions