Skip to content

Commit 975f7cb

Browse files
authored
Create Replace inactive group managers with group members
1 parent c898a9e commit 975f7cb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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.

0 commit comments

Comments
 (0)