diff --git a/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/README.md b/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/README.md new file mode 100644 index 0000000000..cf47ce4ac2 --- /dev/null +++ b/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/README.md @@ -0,0 +1 @@ +This code_snippet.js script sync all related assignment groups when a record’s department changes. diff --git a/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/code_snippet.js b/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/code_snippet.js new file mode 100644 index 0000000000..5281bab134 --- /dev/null +++ b/Server-Side Components/Business Rules/Dynamic GlideList Field Sync/code_snippet.js @@ -0,0 +1,12 @@ +// This script sync all related assignment groups when a record’s department changes and this business rule runs After Update +(function executeRule(current, previous) { + if (current.department.changes()) { + var grp = new GlideRecord('sys_user_group'); + grp.addQuery('u_department', current.department); + grp.query(); + var list = []; + while (grp.next()) list.push(grp.sys_id.toString()); + current.assignment_group = list.join(','); + current.update(); + } +})(current, previous);