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.

Esignature for approval table

Vani14
Tera Contributor

We created a onSubmit client script for the approval table. When the user changes state from requested to approved, the esignature window must be populated. but the script is not working 


function onSubmit() {
    //Type appropriate comment here, and begin script below


    var newValue = g_form.getValue('state');
    //alert(newValue);

    if (newValue === 'approved') {
        alert('State changed from "requested" to "approved"');
        alert(newValue);
        var sysRitmId = g_form.getValue("document_id");
        alert(sysRitmId);
        var ga = new GlideAjax('AMEsignPOC');
        ga.addParam('sysparm_name', 'getEsignData');
        ga.addParam('sysparm_sysids', sysRitmId);
        ga.getXML(promptSubmitLogin);

    }
}

function displayGreyout() {
    var div = $(cel("div"));
    div.setAttribute("id", "screen_grey_out");
    div.addClassName("screen_grey_out");
    document.body.appendChild(div);
}
//remove greyout
function hideGreyOut() {
    var div = $("screen_grey_out");
    if (div)
        document.body.removeChild(div);
}
//open UI page saml2_esignature_login_biogen to prompt with Okta screen. On successful authentication, create digital signature and allow submission
function promptSubmitLogin(response) {
    alert("promptSubmitLogin function started");
    displayGreyout();
    var answer = response.responseXML.documentElement.getAttribute("answer");
    alert("Answer received: " + answer);
    //alert(answer);
    if (answer == 'true') {
        var sysID = '';
        if (gel('sys_uniqueValue'))
            sysID = gel('sys_uniqueValue').value;
        alert("=====" + sysID);

        var gDialog = new GlideDialogWindow("saml2_esignature_login");

        gDialog.setPreference('onLoginSuccess', function() {
            submitItem(sysID);
        });
        gDialog.setPreference('onLoginCancel', function() {
            abortsubmit();
        });
        gDialog.setPreference('focusTrap', true);

        var title = "Submission Authentication";
        if (g_form.getUniqueValue() == 'ffc5fa2fdb66d300711c757a8c9619ee') {
            title = "I confirm the attachment is a true copy";
        }
        gDialog.setTitle(getMessage(title));
        gDialog.setAriaLabel(getMessage(title));
        gDialog.setFocus('userName');
        gDialog.render();
    }
    alert("promptSubmitLogin function ended");

    function submitItem() {

        alert("insdie Submit Function");
        /*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);
            }
        });*/
        //approveSuccess();
    }

}

function abortSubmit() {
    hideGreyOut();

}
0 REPLIES 0