Getting user object in script include

samadam
Kilo Sage

I am trying to check if user is a member of the group in a script include using the following but doesnt work. Calling this script include from a fix script.

 

var u_obj = new GlideRecord('sys_user');
u_obj.get(sys_id);

if (u_obj.isMemberOf('Developer')) {}

 

I get the following error

Evaluator: com.glide.script.RhinoEcmaError: Cannot find function isMemberOf in object [object GlideRecord].
   script : Line(109) column(0)

Any ideas on how to fix this? This is in scoped application 

1 ACCEPTED SOLUTION

Nia McCash
Mega Sage
Mega Sage

isMemberOf is not a valid function of GlideRecord. You should be querying the Group Membership table [sys_user_grmember].

 

Something like:

var membership = new GlideRecord('sys_user_grmember');
membership.addEncodedQuery("group.nameSTARTSWITHDeveloper");
membership.addQuery('user', sys_id);
membership.query();

if (membership.hasNext())
  return true;
else 
  return false;

View solution in original post

1 REPLY 1

Nia McCash
Mega Sage
Mega Sage

isMemberOf is not a valid function of GlideRecord. You should be querying the Group Membership table [sys_user_grmember].

 

Something like:

var membership = new GlideRecord('sys_user_grmember');
membership.addEncodedQuery("group.nameSTARTSWITHDeveloper");
membership.addQuery('user', sys_id);
membership.query();

if (membership.hasNext())
  return true;
else 
  return false;