Client script keeps alerting

MaxAltamirano
Tera Contributor

I created a Client script that would prevent an user from creating a change request assigned to a certain group, the idea was that on submitting a record with that group it would prevent the creatin and display an alert, however the alert keeps popping up preventing the user from changing the record

 

 

(function onSubmit(control, oldValue, newValue, isLoading) {
    if (isLoading || g_form.isNewRecord() === false) {
        return true;
    }


    var assignmentGroup = g_form.getReference('assignment_group', function(gr) {
        if (gr && gr.name == 'xxx') {
            alert('xxxxx');
            g_form.submit(false);
            return false;
        }
    });

    return true;
})(g_form);
1 REPLY 1

Chaitanya ILCR
Kilo Patron

Hi @MaxAltamirano ,

you can try this script

ChaitanyaILCR_0-1749773563180.png

 

function onSubmit() {

    var assignmentGroup = g_form.getReference('assignment_group')

    if (assignmentGroup && assignmentGroup.name == 'XXX') {
        alert('xxxxx');
        return false;
    }

}

 

 

Alternative approach

create a client callable script include

ChaitanyaILCR_1-1749774082419.png

 

var CheckAssignmentGroup = Class.create();
CheckAssignmentGroup.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getGroupName: function() {
        var group = new GlideRecord('sys_user_group');
        if (group.get(this.getParameter('sysparm_group_id'))) {
            return group.name;
        }
        return '';
    }

});

 onSubmit client script

function onSubmit() {
    if (g_scratchpad.groupName) {
        return true;
    }
    actionName = g_form.getActionName();
    var ga = new GlideAjax('CheckAssignmentGroup');
    ga.addParam('sysparm_name', 'getGroupName');
    ga.addParam('sysparm_group_id', g_form.getValue('assignment_group'));
    ga.getXMLAnswer(function(response) {
        if (response && response == 'XXX' /*you group name goes here*/ ) {
            alert('xxxxx');
            return false;
        } else {
            g_scratchpad.groupName = true;
            g_form.submit(actionName);
            g_scratchpad.groupName = false;
        }
    });
    return false;
}

 

 

Please mark my answer as helpful/correct if it resolves your query.

Regards,
Chaitanya