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