Creating a reference qualifier to show members of the selected assignment group and other groups
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2023 06:37 AM - edited 06-19-2023 06:52 AM
On the below form, I'm wanting to add an amendment to the filter within the 'Assigned to' field:
However, what I'm wanting to do is that when an Assignment Group is selected then the 'Assigned to' field must display the members of that Assignment Group, as well as members of the Markets Run Teams or Markets Admin Groups. The 'Dependent' field in the Dictionary entry is already set to 'assignment_group', so I was just wondering how I could the search for members of Markets Run Teams or Markets Admin Groups.
I've tried using the following reference qualifier, but it's not worked:
groups=current.assignment_group^ORgroups=428d52301b62d550d1c4dbd6b04bcb27^ORgroups=58532b411b67e950ee611068b04bcbe0^EQ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2023 08:06 AM
I know what is. Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-19-2023 08:21 AM
Reference qualifier
Script include -
var LBGMarketsAssignedTo = Class.create();
LBGMarketsAssignedTo.prototype = {
initialize : function() {
},
groupMembers: function(assignmentGroup) {
// Get the selected Assignment Group value
// var assignmentGroup = current.assignment_group;
// Create a reference qualifier to filter 'Assigned to' choices
var referenceQualifier = '';
// Get the sys_ids of users from the selected Assignment Group
var assignmentGroupUsers = new GlideRecord('sys_user_grmember');
assignmentGroupUsers.addQuery('group', assignmentGroup);
assignmentGroupUsers.query();
var assignmentGroupUsersSysIds = [];
while (assignmentGroupUsers.next()) {
assignmentGroupUsersSysIds.push(assignmentGroupUsers.user.toString());
}
// Get the sys_ids of users from the "Markets Run Teams" group
var marketsRunTeamsUsersSysIds = [];
var marketsRunTeamsGroup = new GlideRecord('sys_user_group');
if (marketsRunTeamsGroup.get('name', 'Markets Run Teams')) {
var marketsRunTeamsUsers = new GlideRecord('sys_user_grmember');
marketsRunTeamsUsers.addQuery('group', marketsRunTeamsGroup.sys_id);
marketsRunTeamsUsers.query();
while (marketsRunTeamsUsers.next()) {
marketsRunTeamsUsersSysIds.push(marketsRunTeamsUsers.user.toString());
}
}
// Get the sys_ids of users from the "Markets Admin Group"
var marketsAdminGroupUsersSysIds = [];
var marketsAdminGroup = new GlideRecord('sys_user_group');
if (marketsAdminGroup.get('name', 'Markets Admin')) {
var marketsAdminGroupUsers = new GlideRecord('sys_user_grmember');
marketsAdminGroupUsers.addQuery('group', marketsAdminGroup.sys_id);
marketsAdminGroupUsers.query();
while (marketsAdminGroupUsers.next()) {
marketsAdminGroupUsersSysIds.push(marketsAdminGroupUsers.user.toString());
}
}
// Combine all the user sys_ids into a single array
var allUserSysIds = assignmentGroupUsersSysIds.concat(marketsRunTeamsUsersSysIds, marketsAdminGroupUsersSysIds);
//var arrayUtil = new ArrayUtil();
//var uniqueUserSysIds = arrayUtil.unique(allUserSysIds);
// Add the condition to filter 'Assigned to' choices
return 'sys_idIN' + allUserSysIds.join(',');
},
type: 'LBGMarketsAssignedTo'
};