From 975f7cb6137471202ef245eda894245844c51a57 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 17:29:17 +0530 Subject: [PATCH 01/11] Create Replace inactive group managers with group members --- ...inactive group managers with group members | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members new file mode 100644 index 0000000000..6e515b02ce --- /dev/null +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members @@ -0,0 +1,30 @@ +/* +Check if manager of group is inactive. +Replace the manager with oldest group member. +*/ +function replacewithActiveManager() { + var inactiveMgrGrp = new GlideRecord('sys_user_group'); // Glide group Table + inactiveMgrGrp.addEncodedQuery('manager.active=false'); // get groups with inactive managers + inactiveMgrGrp.query(); + while (inactiveMgrGrp.next()) { + inactiveMgrGrp.setValue('manager', getOlderGroupMember(inactiveMgrGrp).sys_id); // set inactive manager with active group member. + inactiveMgrGrp.update(); + gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); + } + + /* + input: group, type = string. + Function return the older group member user record + */ + function getOlderGroupMember(grp) { + var getUser = new GlideRecord('sys_user_grmember'); // Glide group member table + getUser.addEncodedQuery('user.active=true^group=' + grp.getUniqueValue()); // encoded query to get group member + getUser.orderByAsc('sys_created_on'); // get oldest added group member + getUser.query(); + if (getUser.next()) + return getUser.user.getRefRecord(); + else + gs.info("Group " + grp.name + " does not have any active user"); // incase there is no active user in group + } +} +replacewithActiveManager(); // main function to replace inactive manager. From 2c0bfeb809957c71e6a19275968707088ff32974 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 17:34:03 +0530 Subject: [PATCH 02/11] Update README.md --- .../Fix scripts/updateMultipleRecords/README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/README.md b/Specialized Areas/Fix scripts/updateMultipleRecords/README.md index 24cd1cd207..3fa2053c78 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/README.md +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/README.md @@ -1,4 +1,11 @@ -//This Fix scripts is to clean up multiple record errors -// Navigate to Scripts-Background -// Past the script and update the place holder variable value: table name, field, and value etc. -// Also advisable to validate the row count the //gr.getRowCount() and remove from codebase. +********* +This script will query the group table and look for groups with inactive members. +The script will replace the inactive manager with the oldest active member of the group. + +Logs: +If no active members are there in group +//gs.info("Group " + grp.name + " does not have any active user"); + +After manager is replaced : +gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); +********* From d60ffe43ed5bf8091b3b182c6b2016338e29eb4d Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 17:58:36 +0530 Subject: [PATCH 03/11] Create readme.md --- Specialized Areas/Fix scripts/updateMultipleRecords/readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Specialized Areas/Fix scripts/updateMultipleRecords/readme.md diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md @@ -0,0 +1 @@ + From a7b45b01a5813c045ec9f042050076af264db651 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 17:59:45 +0530 Subject: [PATCH 04/11] Update readme.md --- .../Fix scripts/updateMultipleRecords/readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md index 8b13789179..9a6f96de07 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md @@ -1 +1,7 @@ +************* +This script will query the group table and look for groups with inactive members. The script will replace the inactive manager with the oldest active member of the group. +Logs: If no active members are there in group //gs.info("Group " + grp.name + " does not have any active user"); + +After manager is replaced : gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); +************* From 4ca2fd0219715b29932c75824645c4906520da20 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:00:41 +0530 Subject: [PATCH 05/11] Update Replace inactive group managers with group members --- .../Replace inactive group managers with group members | 1 + 1 file changed, 1 insertion(+) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members index 6e515b02ce..1d8c15980a 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members @@ -8,6 +8,7 @@ function replacewithActiveManager() { inactiveMgrGrp.query(); while (inactiveMgrGrp.next()) { inactiveMgrGrp.setValue('manager', getOlderGroupMember(inactiveMgrGrp).sys_id); // set inactive manager with active group member. + inactiveMgrGrp.autoSysFields(false); inactiveMgrGrp.update(); gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); } From cd8e6d4a5fd1f57e66353f3813ae7026f4139a24 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:01:22 +0530 Subject: [PATCH 06/11] Update README.md --- .../Fix scripts/updateMultipleRecords/README.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/README.md b/Specialized Areas/Fix scripts/updateMultipleRecords/README.md index 3fa2053c78..24cd1cd207 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/README.md +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/README.md @@ -1,11 +1,4 @@ -********* -This script will query the group table and look for groups with inactive members. -The script will replace the inactive manager with the oldest active member of the group. - -Logs: -If no active members are there in group -//gs.info("Group " + grp.name + " does not have any active user"); - -After manager is replaced : -gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); -********* +//This Fix scripts is to clean up multiple record errors +// Navigate to Scripts-Background +// Past the script and update the place holder variable value: table name, field, and value etc. +// Also advisable to validate the row count the //gr.getRowCount() and remove from codebase. From 3f05b71cf2517148bd302b4a6196ede90137b3c5 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:06:17 +0530 Subject: [PATCH 07/11] Create Replace Inactive managers with active members --- .../Fix scripts/Replace Inactive managers with active members | 1 + 1 file changed, 1 insertion(+) create mode 100644 Specialized Areas/Fix scripts/Replace Inactive managers with active members diff --git a/Specialized Areas/Fix scripts/Replace Inactive managers with active members b/Specialized Areas/Fix scripts/Replace Inactive managers with active members new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Specialized Areas/Fix scripts/Replace Inactive managers with active members @@ -0,0 +1 @@ + From 4fc2df6a948c8e202e03b74ecf94987f33c34b24 Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:11:48 +0530 Subject: [PATCH 08/11] Delete Specialized Areas/Fix scripts/Replace Inactive managers with active members --- .../Fix scripts/Replace Inactive managers with active members | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Specialized Areas/Fix scripts/Replace Inactive managers with active members diff --git a/Specialized Areas/Fix scripts/Replace Inactive managers with active members b/Specialized Areas/Fix scripts/Replace Inactive managers with active members deleted file mode 100644 index 8b13789179..0000000000 --- a/Specialized Areas/Fix scripts/Replace Inactive managers with active members +++ /dev/null @@ -1 +0,0 @@ - From 72a4b993885ccab8ca6213337decae96acc5b1cd Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:13:00 +0530 Subject: [PATCH 09/11] Update Replace inactive group managers with group members --- .../Replace inactive group managers with group members | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members index 1d8c15980a..d9c2d894c9 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members @@ -19,7 +19,7 @@ function replacewithActiveManager() { */ function getOlderGroupMember(grp) { var getUser = new GlideRecord('sys_user_grmember'); // Glide group member table - getUser.addEncodedQuery('user.active=true^group=' + grp.getUniqueValue()); // encoded query to get group member + getUser.addEncodedQuery('user.active=true^group=' + grp.getUniqueValue()); // encoded query to get group member. getUser.orderByAsc('sys_created_on'); // get oldest added group member getUser.query(); if (getUser.next()) From bda756465a641876ced7734bff2f0c82846fe3df Mon Sep 17 00:00:00 2001 From: Raghav Sharma <53517312+raghavs046@users.noreply.github.com> Date: Fri, 10 Oct 2025 18:13:17 +0530 Subject: [PATCH 10/11] Update readme.md --- Specialized Areas/Fix scripts/updateMultipleRecords/readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md index 9a6f96de07..fac705ce21 100644 --- a/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md +++ b/Specialized Areas/Fix scripts/updateMultipleRecords/readme.md @@ -4,4 +4,5 @@ This script will query the group table and look for groups with inactive members Logs: If no active members are there in group //gs.info("Group " + grp.name + " does not have any active user"); After manager is replaced : gs.info("Group " + inactiveMgrGrp.name + " manager changed to " + getOlderGroupMember(inactiveMgrGrp).name); + ************* From 45568abdf018c191d93824eed2e0e1ccdc0b4c16 Mon Sep 17 00:00:00 2001 From: Ivan Betev Date: Fri, 10 Oct 2025 14:46:41 +0200 Subject: [PATCH 11/11] Rename Replace inactive group managers with group members to script.js --- .../script.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Specialized Areas/Fix scripts/{updateMultipleRecords/Replace inactive group managers with group members => Replace inactive group managers with group members/script.js} (100%) diff --git a/Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members b/Specialized Areas/Fix scripts/Replace inactive group managers with group members/script.js similarity index 100% rename from Specialized Areas/Fix scripts/updateMultipleRecords/Replace inactive group managers with group members rename to Specialized Areas/Fix scripts/Replace inactive group managers with group members/script.js