Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-29-2025 02:59 AM
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');
}
}
}