File tree Expand file tree Collapse file tree 1 file changed +17
-10
lines changed
Server-Side Components/Background Scripts/Find Top-Level Manager Hierarchy Expand file tree Collapse file tree 1 file changed +17
-10
lines changed Original file line number Diff line number Diff line change 1- var currentUser = gs . getUser ( ) ; // current logged-in user
1+ var currentUser = gs . getUser ( ) ; // Current logged-in user
22var userGR = new GlideRecord ( 'sys_user' ) ;
3+ var maxLevels = 7 ;
4+ var currentLevel = 0 ;
35
46if ( 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.
You can’t perform that action at this time.
0 commit comments