Skip to content

Commit 1eb0d43

Browse files
authored
Group Manager changes, remove old manager and add new manager to the group (ServiceNowDevProgram#2604)
* Create ReadMe.md * Create Code.js
1 parent 7646165 commit 1eb0d43

File tree

2 files changed

+34
-0
lines changed
  • Server-Side Components/Business Rules/Group Manager changes, remove old manager & add new manager

2 files changed

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

0 commit comments

Comments
 (0)