HanisahR
Tera Expert

Found out that these scripts worked. Would like to thank everyone who contributed to replying to this question, much appreciated!

SCRIPT INCLUDE // Client callable true, application Global

var checkUserGroupDept = Class.create();
checkUserGroupDept.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getGroupDept: function() {
        var userID = this.getParameter('sysparm_sysid');
        var userGR = new GlideRecord('sys_user');
        if (userGR.get(userID)) {
            var dept = userGR.getValue('department');
 
            var inGroup = false;
            var groupUser = new GlideRecord('sys_user_grmember');
            groupUser.addQuery('group', 'sysid1'); // sysid group1
			groupUser.addQuery('group', 'sysid2'); // sysid group2
            groupUser.query();
            while (groupUser.next()) {
                if (groupUser.user == userID) {
                    inGroup = true;
                    break;
                }
            }
 
            // Check if user is NOT in group OR department is NOT dept1 or dept2
            if (!inGroup && (dept !== 'dept1' && dept !== 'dept2)) { // sysid dept1, dept2
                return 'true';
            }
        }
        return 'false';
    }
});

 ^^ For some reason the if condition works when && is used instead of ||

CLIENT SCRIPT
function onLoad() {
    // get current user's sys_id
    var sysid = g_user.userID;

    // call Script Include via GlideAjax
    var ga = new GlideAjax('checkUserGroupDept'); // Script Include name
    ga.addParam('sysparm_name', 'getGroupDept'); // Function name in Script Include
    ga.addParam('sysparm_sysid', sysid); // pass user sys_id
    ga.getXMLAnswer(parseResponse);

    function parseResponse(answer) {
        if (answer == 'true') {
            g_form.removeOption('service_request', 'value_option1', 'Name Option1');
			g_form.removeOption('service_request', 'value_option2', 'Name Option2');
			g_form.removeOption('service_request', 'value_option3', 'Name Option3');
        }
    }
}

 

View solution in original post