- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2013 09:41 AM
We have a PTO calendar, and I would like to run a report where the it only shows people who our members of my assignment groups. I have one field, requester, which is a reference to the user table. I want to run a filter where 'requester is javascript:isMemberOf(getMyGroups())', but I know that syntax is wrong. Any ideas on how to set up the filter correctly?
Solved! Go to Solution.
- Labels:
-
Service Mapping
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2013 11:55 AM
You can try this:
Find ArrayUtil Script Include and set to Client Callable
Script Include: ArrayUtil
Client Callable: true
Add getMyGroupMembers Script Include
Script Include: getMyGroupMembers
Client Callable: true
Description: Returns all members of your group
function getMyGroupMembers(){
//Set Variables
var myUserObject = gs.getUser();
var myUserGroups = myUserObject.getMyGroups();
var groupsArray = [];
var groupMembers = [];
var arrayUtil = new ArrayUtil();
var it = myUserGroups.iterator();
//gs.log('Get all my Groups into an array');
for (var i = 0; it.hasNext(); i++) {
var myGroup = it.next();
groupsArray<i>=myGroup;
}
//gs.log('Get all my Group Members into an array;);
for (var i2 = 0; i2 < groupsArray.length; i2++) {
var grGroupMembers = new GlideRecord('sys_user_grmember');
grGroupMembers.addQuery('group',groupsArray[i2]);
grGroupMembers.query();
while (grGroupMembers.next()) {
groupMembers.push(grGroupMembers.user.sys_id.toString());
}
}
//gs.log('Return Unique Group Member Array');
return arrayUtil.unique(groupMembers);
}
Filter for report:
requester is javascript:getMyGroupMembers()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2013 11:55 AM
You can try this:
Find ArrayUtil Script Include and set to Client Callable
Script Include: ArrayUtil
Client Callable: true
Add getMyGroupMembers Script Include
Script Include: getMyGroupMembers
Client Callable: true
Description: Returns all members of your group
function getMyGroupMembers(){
//Set Variables
var myUserObject = gs.getUser();
var myUserGroups = myUserObject.getMyGroups();
var groupsArray = [];
var groupMembers = [];
var arrayUtil = new ArrayUtil();
var it = myUserGroups.iterator();
//gs.log('Get all my Groups into an array');
for (var i = 0; it.hasNext(); i++) {
var myGroup = it.next();
groupsArray<i>=myGroup;
}
//gs.log('Get all my Group Members into an array;);
for (var i2 = 0; i2 < groupsArray.length; i2++) {
var grGroupMembers = new GlideRecord('sys_user_grmember');
grGroupMembers.addQuery('group',groupsArray[i2]);
grGroupMembers.query();
while (grGroupMembers.next()) {
groupMembers.push(grGroupMembers.user.sys_id.toString());
}
}
//gs.log('Return Unique Group Member Array');
return arrayUtil.unique(groupMembers);
}
Filter for report:
requester is javascript:getMyGroupMembers()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-15-2019 01:09 PM
For some reason my gs.log's are working when I run this report. I want to make sure a certain section is completed and nothing is in the system logs. Will the script include still log stuff if it's coming from a report that ran?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2013 12:49 PM
Thank you. I was thinking that was the path I wanted to go. That worked great!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-04-2013 01:48 PM
Hey Mark (remember me?),
That's a nice script you posted above. +1'd it so others could find it- I'm sure others will find it handy. This seems like a pretty basic situation others will run into eventually.