diff --git a/Server-Side Components/Business Rules/Automatically Add Manager to Group/README.md b/Server-Side Components/Business Rules/Automatically Add Manager to Group/README.md new file mode 100644 index 0000000000..047e0a2444 --- /dev/null +++ b/Server-Side Components/Business Rules/Automatically Add Manager to Group/README.md @@ -0,0 +1,5 @@ +**Details** +1. This is an after insert and update Business rule. +2. Condition "manager Changes". +3. This code will add manager to group on insert of new group. +4. The code will also add the manager to group incase manager is changed for an existing group. diff --git a/Server-Side Components/Business Rules/Automatically Add Manager to Group/script.js b/Server-Side Components/Business Rules/Automatically Add Manager to Group/script.js new file mode 100644 index 0000000000..d168a6f037 --- /dev/null +++ b/Server-Side Components/Business Rules/Automatically Add Manager to Group/script.js @@ -0,0 +1,17 @@ +(function executeRule(current, previous /*null when async*/ ) { + /* + Runs : After insert/update on condition "manager changes". + Insert : When Group is created, manager is added to group. + Update : When group manager is changed, it is added to group. + */ + var checkManager = new GlideRecord('sys_user_grmember'); // membership table glide record. + checkManager.addEncodedQuery('user=' + current.getValue('manager') + 'group=' + current.getUniqueValue()); // encoded query to check current membership. + checkManager.query(); + if (!checkManager.hasNext()) { // if current manager is not added to group. + //Add Manager to group. + checkManager.user = current.getValue('manager'); + checkManager.group = current.getUniqueValue(); + checkManager.insert(); + } + +})(current, previous);