Exclude some users while writing business rule

Reshma2
Tera Contributor

Hello All,

I have a requirement where I need to exclude some users(John ty,Umily gour) while writing business rule. If user is from the list even though he has title svp he shouldn't get assigned as manager

 

(function executeRule(current, previous /*null when async*/ ) {
var appOwner = current.owned_by.toString();
//First level of manager
var smng1 = usr.manager;
var susrMng1 = new GlideRecord('sys_user');

susrMng1.addQuery('name', smng1);
susrMng1.get(mng1);
susrMng1.query();
gs.addInfoMessage('++++usrMng1.title: ' + usrMng1.title);
while (susrMng1.next()) {
if ((susrMng1.title == 'SVP') || (susrMng1.title == 'Senior Vice President')) {
current.u_exec_direct = smng1.toString();
current.u_exec_owner = current.owned_by;
current.u_engineer_contact=current.u_exec_direct.manager.toString();
gs.addInfoMessage('++++mng1: ' + smng1);
} else {

//second level of manager
var smng2 = susrMng1.manager;

var susrMng2 = new GlideRecord('sys_user');
susrMng2.addQuery('name', smng2);
susrMng2.get(smng2);
susrMng2.query();
while (susrMng2.next()) {

if ((susrMng2.title == 'SVP') || (susrMng2.title == 'Senior Vice President')) {
current.u_exec_direct = smng2.toString();
current.u_exec_owner = current.owned_by;
current.u_engineer_contact=current.u_exec_direct.manager.toString();
gs.addInfoMessage('++++user3: ' + susrMng2);
} else {

//Third level of manager
var smng3 = susrMng2.manager;

var susrMng3 = new GlideRecord('sys_user');
susrMng3.addQuery('name', smng3);
susrMng3.get(smng3);
susrMng3.query();
while (susrMng3.next()) {

if ((susrMng3.title == 'SVP') || (susrMng3.title == 'Senior Vice President')) {
current.u_exec_direct = smng3.toString();
current.u_exec_owner = current.owned_by;
current.u_engineer_contact=current.u_exec_direct.manager.toString();
gs.addInfoMessage('++++user4: ' + susrMng3);
} else {
//Fourth level of Manager
var smng4 = susrMng3.manager;

var susrMng4 = new GlideRecord('sys_user');
susrMng4.addQuery('name', smng4);
susrMng4.get(smng3);
susrMng4.query();
while (susrMng4.next()) {

if ((susrMng4.title == 'SVP') || (susrMng4.title == 'Senior Vice President')) {
current.u_exec_direct = smng4.toString();
current.u_exec_owner = current.owned_by;
current.u_engineer_contact=current.u_exec_direct.manager.toString();
gs.addInfoMessage('++++user5: ' + susrMng4);
} else {
//Fifth level of manager

var smng5 = susrMng4.manager;

var susrMng5 = new GlideRecord('sys_user');
susrMng5.addQuery('name', smng5);
susrMng5.get(smng3);
susrMng5.query();
while (susrMng5.next()) {

if ((susrMng5.title == 'SVP') || (susrMng5.title == 'Senior Vice President')) {
current.u_exec_direct = smng5.toString();
current.u_exec_owner = current.owned_by;
current.u_engineer_contact=current.u_exec_direct.manager.toString();
gs.addInfoMessage('++++user6: ' + susrMng5);
}
}
}
}
}
}
}
}

}
}
}

current.update();
}
}

)(current, previous);

 

5 REPLIES 5

ersureshbe
Giga Sage
Giga Sage

Hi, you use query business rule and define the exclude user list and those users are not part of business rule.

Regards,
Suresh.