Filter Assignment Group based on Assigned To
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2018 10:06 AM
filter assignment group based on assign to in ServiceNow - on the basis of assigned to , i can get the assignment group but i have tree picker attribute on assignment group reference field, which restrict me to show parent assignment group.
For eg - if i am part of xyz group and there is no parent group. then i will able to see it well.
Bt xyz group has abc parent group, then i wont be able to see it .
Can anyone help me on this, its quite simple but i couldn't figure it out.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2018 10:14 AM
Hi,
Write advanced reference qualifier..
when you select assigned to person assignment groups are going to display.
var BackfillAssignmentGroup = Class.create();
BackfillAssignmentGroup.prototype = {
initialize: function() {
},
BackfillAssignmentGroup:function() {
var gp = ' ';
var a = current.assigned_to;
//return everything if the assigned_to value is empty
if(!a)
return;
//sys_user_grmember has the user to group relationship
var grp = new GlideRecord('sys_user_grmember');
grp.addQuery('user',a);
grp.query();
while(grp.next()) {
if (gp.length > 0) {
//build a comma separated string of groups if there is more than one
gp += (',' + grp.group);
}
else {
gp = grp.group;
}
}
// return Groups where assigned to is in those groups we use IN for lists
return 'sys_idIN' + gp;
},
type: 'BackfillAssignmentGroup'
call this script include in advanced refernce qualifier.
javascript:new BackfillAssignmentGroup().BackfillAssignmentGroup()
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2021 09:30 AM
Hi Preethi,
Your reference qualifier and script include works perfectly! Thank you very much. One thing that I need different is to only pull groups that where Active is True & Hidden is False ('group.active=true^group.u_hidden=false') when the Assigned to is empty. I've updated your code as below, but when there isn't an assigned to (new record), and I click the Assignment group lookup, it doesn't show any groups at all. If there is an assigned to, the script works perfectly by looking up that person's group.
var BackfillAssignmentGroup = Class.create();
BackfillAssignmentGroup.prototype = {
initialize: function() {},
BackfillAssignmentGroup: function() {
var gp = ' ';
var a = current.assigned_to;
//return everything if the assigned_to value is empty
if (a == '') {
var gps = new GlideRecord("sys_user_group");
gps.addEncodedQuery('active=true^u_hidden=false');
gps.query();
while (gps.next()) {
//build a comma separated string of gps if there is more than one
gp += (',' + gps.group);
}
}
//sys_user_grmember has the user to group relationship
var grp = new GlideRecord("sys_user_grmember");
grp.addQuery("user", a);
grp.addEncodedQuery('group.active=true^group.u_hidden=false');
grp.query();
while (grp.next()) {
if (gp.length > 0) {
//build a comma separated string of gps if there is more than one
gp += (',' + grp.group);
} else {
gp = grp.group;
}
}
// return groups where assigned to is in those groups we use IN for lists
return 'sys_idIN' + gp;
},
type: 'BackfillAssignmentGroup'
};
Thank you!
Shane
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-10-2024 02:56 PM
You're my hero, this is an epic add. Thank you!