- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 08:32 AM
Hi,
I have a reference variable called "Project Lead". I want to only show members of the Physical Security group in this field. From what I've read it seems a reference qualifier should be used. After reading some articles I tried entering the following:
Reference qualifier: javascript:new GetGroupMember().getMember(bb3fc3056f68e10006a8f00dba3ee483)
I'm passing the sys_id of the Physical Security group.
Script Include:
var GetGroupMember= Class.create();
GetGroupMember.prototype = {
getMember : function(bb3fc3056f68e10006a8f00dba3ee483)
{
var user_array = [];
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('group',bb3fc3056f68e10006a8f00dba3ee483);
getMembers.query();
while(getMembers.next())
{
user_array.push(getMembers.getValue('users'));
}
return 'sys_idIN' + user_array.toString();
}
};
What happens is I get the entire sys_user table unfiltered. How do I just get the members of the Physical Security group so I can select one of them?
Any help is appreciated, as I am new to scripting.
Thanks,
Laurie
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 11:51 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 08:57 AM
Hi Laurie,
Try this
Script Include:
var GetGroupMember= Class.create();
GetGroupMember.prototype = {
getMember : function()
{
var x = 'bb3fc3056f68e10006a8f00dba3ee483';
var user_array = [];
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('group',x);
getMembers.query();
while(getMembers.next())
{
user_array.push(gr.user);
}
return 'sys_idIN' + user_array.toString();
}
};
Thank
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 09:16 AM
Hi Anurag,
The script did not work. It returned 1,124 records and showed sys_id numbers only. There should only be a few name returned.
I tried creating a a simple reference qualifier:
Table: GroupMember[sys_user_grmember]
Condition: Group is Physical Security
This works EXCEPT it also returns sys_id numbers.
Thanks,
Laurie
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 09:26 AM
my bad
instead of "gr.user" use "getMembers.user"
this will give you sys_id only....if you want names then use "getMembers.user.getDisplayValue()"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2015 10:47 AM
Hi Anurag,
I updated the code to this, and now it returns all users. Could something be wrong with the reference qualifier?
I did notice that the sys_user_grmember table has 1,124 entries, which matches the number of rows returned prior to the script change.
var GetGroupMember= Class.create();
GetGroupMember.prototype = {
getMember : function()
{
var x = 'bb3fc3056f68e10006a8f00dba3ee483';
var user_array = [];
var getMembers = new GlideRecord('sys_user_grmember');
getMembers.addQuery('group',x);
getMembers.query();
while(getMembers.next())
{
user_array.push(getMembers.user.getDisplayValue());
}
return 'sys_idIN' + user_array.toString();
}
};
Thanks,
Laurie