File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
Specialized Areas/Fix scripts/updateMultipleRecords Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ Check if manager of group is inactive.
3+ Replace the manager with oldest group member.
4+ */
5+ function replacewithActiveManager() {
6+ var inactiveMgrGrp = new GlideRecord('sys_user_group'); // Glide group Table
7+ inactiveMgrGrp.addEncodedQuery('manager.active=false'); // get groups with inactive managers
8+ inactiveMgrGrp.query();
9+ while (inactiveMgrGrp.next()) {
10+ inactiveMgrGrp.setValue('manager', getOlderGroupMember(inactiveMgrGrp).sys_id); // set inactive manager with active group member.
11+ inactiveMgrGrp.update();
12+ gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name);
13+ }
14+
15+ /*
16+ input: group, type = string.
17+ Function return the older group member user record
18+ */
19+ function getOlderGroupMember(grp) {
20+ var getUser = new GlideRecord('sys_user_grmember'); // Glide group member table
21+ getUser.addEncodedQuery('user.active=true^group=' + grp.getUniqueValue()); // encoded query to get group member
22+ getUser.orderByAsc('sys_created_on'); // get oldest added group member
23+ getUser.query();
24+ if (getUser.next())
25+ return getUser.user.getRefRecord();
26+ else
27+ gs.info("Group " + grp.name + " does not have any active user"); // incase there is no active user in group
28+ }
29+ }
30+ replacewithActiveManager(); // main function to replace inactive manager.
You can’t perform that action at this time.
0 commit comments