Skip to content

Commit 73eba3c

Browse files
Update script.js
1 parent 533f226 commit 73eba3c

File tree

1 file changed

+17
-10
lines changed
  • Server-Side Components/Background Scripts/Find Top-Level Manager Hierarchy

1 file changed

+17
-10
lines changed

Server-Side Components/Background Scripts/Find Top-Level Manager Hierarchy/script.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1-
var currentUser = gs.getUser(); // current logged-in user
1+
var currentUser = gs.getUser(); // Current logged-in user
22
var userGR = new GlideRecord('sys_user');
3+
var maxLevels = 7;
4+
var currentLevel = 0;
35

46
if (userGR.get(currentUser.getID())) {
5-
// Loop until we find a user who has no manager
6-
while (userGR.manager) {
7+
8+
// Loop until we find a user who has no manager or reach max level
9+
while (userGR.manager && currentLevel < maxLevels) {
710
var managerID = userGR.getValue('manager');
811
var managerGR = new GlideRecord('sys_user');
9-
10-
managerGR.get(managerID);
11-
userGR = managerGR; // Move up one level
12-
}
13-
gs.print("Top-level Manager: " + userGR.getDisplayValue('name'));
12+
13+
if (managerGR.get(managerID)) {
14+
userGR = managerGR; // Move up one level
15+
currentLevel++;
16+
// gs.print(" Level " + currentLevel + " Manager: " + userGR.getDisplayValue('name'));
17+
} else {
18+
break; // Manager record not found
19+
}
20+
}
21+
22+
gs.print("Top-level (or Level " + currentLevel + ") Manager: " + userGR.getDisplayValue('name'));
1423
} else {
1524
gs.print("User not found.");
1625
}
17-
18-
// The top-level manager is always the person in the hierarchy without a manager.

0 commit comments

Comments
 (0)