File tree Expand file tree Collapse file tree 2 files changed +34
-0
lines changed
Server-Side Components/Business Rules/Group Manager changes, remove old manager & add new manager Expand file tree Collapse file tree 2 files changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ ( function executeRule ( current , previous /*null when async*/ ) {
2+
3+ // Run only when the Manager field changes
4+ if ( current . manager . changes ( ) ) {
5+
6+ var groupID = current . sys_id . toString ( ) ;
7+
8+ // Remove old manager from group membership
9+ if ( ! gs . nil ( previous . manager ) ) {
10+ var oldMember = new GlideRecord ( 'sys_user_grmember' ) ;
11+ oldMember . addQuery ( 'group' , groupID ) ;
12+ oldMember . addQuery ( 'user' , previous . manager ) ;
13+ oldMember . query ( ) ;
14+ while ( oldMember . next ( ) ) {
15+ oldMember . deleteRecord ( ) ;
16+ }
17+ }
18+
19+ // Add new manager to group membership
20+ if ( ! gs . nil ( current . manager ) ) {
21+ var newMember = new GlideRecord ( 'sys_user_grmember' ) ;
22+ newMember . initialize ( ) ;
23+ newMember . group = groupID ;
24+ newMember . user = current . manager ;
25+ newMember . insert ( ) ;
26+ }
27+ }
28+
29+ } ) ( current , previous ) ;
Original file line number Diff line number Diff line change 1+ When the Manager field changes on the Group table (sys_user_group), the system should automatically:
2+
3+ Remove the previous manager from the group’s membership.
4+
5+ Add the new manager as a member of the same group.
You can’t perform that action at this time.
0 commit comments