Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to redirect to same page when click on Approve button

Rama Rao
Tera Contributor

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.

11 REPLIES 11

Hello @Maddysunil ,

 

Where can i put that mentioned code?

 

Thanks,

@Rama Rao 

can you paste your code here

 

Hello @Maddysunil @Robbie ,

 

Code

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 button = gel("sysverb_update");
        gsftSubmit(button);
    }
  });
}
RamaRao_0-1716379397370.png
 
 
I tried many things but had no luck. Could you please look into it and suggest?
 
Thanks in advance,

 

@Rama Rao 

 

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");
            
            // Use GlideRecord to update the record without redirection
            var gr = new GlideRecord('sysapproval_approver');
            if (gr.get(sysID)) {
                gr.setValue('state', 'approved');
                gr.update();
                
                // Reload the current form to reflect changes
                g_form.refresh();
            }
        }
    });
}

 

Please Mark Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.

 

Thanks

Hello @Maddysunil ,

This is client-side code and we can not use glide record, right?

 

Thanks,