The CreatorCon Call for Content is officially open! Get started here.

Business rule to check the updated by is member of assignment group

Twinkle S
Mega Sage
Mega Sage

I have a requirement to make a custom field Respond set to true if the updated by is the member of current assignment group.Everything works fine except the if condition, if condition is not fulfilling.  Below is the code for After update 

 

(function executeRule(current, previous /*null when async*/) {

var a=current.sys_updated_by;
var b=current.assignment_group;
var c=gs.getUser();
gs.addInfoMessage(b);
gs.addInfoMessage(a);
if(current.sys_updated_by.isMemberOf(current.assignment_group))
{
gs.addInfoMessage('inside if loop');
current.u_responed=true;

}

 

Regards

Twinkle

11 REPLIES 11

AbhishekGardade
Giga Sage

Hello Twinkl,
Check out the below code: You missed current.update().

var a=current.sys_updated_by;
var b=current.assignment_group;
var c=gs.getUserID();
gs.addInfoMessage(b);
gs.addInfoMessage(a);
if(a.isMemberOf(current.assignment_group))
{
gs.addInfoMessage('inside if loop');
current.u_responed=true;

current.setWorkflow(false);

current.udpate();

}


Please mark as Correct Answer/Helpful, if applicable.
Thanks!
Abhishek Gardade

 

Thank you,
Abhishek Gardade

amaradiswamy
Kilo Sage

Hi,

In If condition you need to use c.isMemberOf() instead of a.isMemberOf().

var a=current.sys_updated_by;
var b=current.assignment_group;
var c=gs.getUser();
gs.addInfoMessage(b);
gs.addInfoMessage(a);
if(c.isMemberOf(current.assignment_group))
{
gs.addInfoMessage('inside if loop');
current.u_responed=true;

}

Also, switch BR to before update as using setWorkflow(false) may have negative impacts as per my previous experience

Ahmmed Ali
Mega Sage
Mega Sage

try if(gs.getUser().isMemberOf(current.assignment_group))

If I could help you with your Query then, please hit the Thumb Icon and mark my answer as Correct!!

Thank you,
Ali