Check active members of particular group and if any one of user is active then return yes

Shivani Khedek1
Giga Contributor

Hi,

I wrote following script inside " if " core utility inside my workflow which is basically supposed to check if the group passed inside function has any group members and if it has then check if they are active or not.

If any of the user is found active then 'yes' should be returns and workflow should proceed.

Here I have written a script which is working fine for a condition to check if group has any members or not, but it is not working while checking active status.

 

SCRIPT INSIDE IF:

 

var defaultGroupMembers = new GlideRecord('sys_user_grmember');

defaultGroupMembers.addQuery('group','ad1abd61dbceab00fce651b0cf961911');
defaultGroupMembers.query();
flag = false;
answer = ifScript();
function ifScript(){
if(defaultGroupMembers.hasNext())
{
while(defaultGroupMembers.next())
var defaultGroupMembersStatus = defaultGroupMembers.active;
if(defaultGroupMembersStatus == true)
{
flag = true;
break;
}
}
if(flag == true)
{
return 'no';
}
else
{
return 'yes';
}
}
else
{
return 'yes';
}}

__________________________________________________

Thank you,

Shivani.

1 ACCEPTED SOLUTION

Shweta KHAJAPUR
Tera Guru

Change this line to below,

var defaultGroupMembersStatus = defaultGroupMembers.user.active;

View solution in original post

7 REPLIES 7

Omkar Mone
Mega Sage

Hi 

I supppose you are getting some error here . Would you specify the error if any by putting some logs. Like check what is flag printing.

Actually I am not getting any error here, but control is not going inside this if condition if(defaultGroupMembersStatus == true) though all my members in group are active.

Hi 

This code worked for me... Just try replace it wiith your's :-

var defaultGroupMembers = new GlideRecord('sys_user_grmember');
defaultGroupMembers.addQuery('group','795354760f3a930022c14f8ce1050e32');
defaultGroupMembers.query();
while(defaultGroupMembers.next())
{
gs.info("test"+defaultGroupMembers.user.active);
}

 

var defaultGroupMembers = new GlideRecord('sys_user_grmember');

defaultGroupMembers.addQuery('group','ad1abd61dbceab00fce651b0cf961911');
defaultGroupMembers.query();
var flag = false;
answer = ifScript();
function ifScript(){
if(defaultGroupMembers.next())
{ 
while(defaultGroupMembers.next())
var defaultGroupMembersStatus = defaultGroupMembers.user.active;
if(defaultGroupMembersStatus == true)
{
flag = true;
break; 
}
}
if(flag == true)
{
return 'no';
}
else
{
return 'yes';
}
}
else
{
return 'yes';
}}

 

 

Copy it as is.