diff --git a/Server-Side Components/Script Includes/LoggedInUser/README.md b/Server-Side Components/Script Includes/LoggedInUser/README.md new file mode 100644 index 0000000000..1ef82dedad --- /dev/null +++ b/Server-Side Components/Script Includes/LoggedInUser/README.md @@ -0,0 +1,2 @@ +This Script Include filters user records so that only users from the same country as the logged-in user are shown. +It can be used as a Reference Qualifier for fields like Caller in forms such as Incident or Request. diff --git a/Server-Side Components/Script Includes/LoggedInUser/loggedInUser.js b/Server-Side Components/Script Includes/LoggedInUser/loggedInUser.js new file mode 100644 index 0000000000..2fa035c5ba --- /dev/null +++ b/Server-Side Components/Script Includes/LoggedInUser/loggedInUser.js @@ -0,0 +1,41 @@ +var getLoggedUserCountryLocs = Class.create(); +getLoggedUserCountryLocs.prototype = { + initialize: function() { + }, + getCountry: function() { + + gs.addInfoMessage(gs.getUserID()); + var gr = new GlideRecord('sys_user'); + gr.addQuery('sys_id', gs.getUserID()); + gr.query(); + if (gr.next()) { + var loc = gr.location; + var country = gr.location.country; + } + + + var grUsers = new GlideRecord('cmn_location'); + + grUsers.addQuery('country', country); + grUsers.query(); + var locs = ""; + while (grUsers.next()) { + + locs += grUsers.sys_id + ","; + } + gs.addInfoMessage(locs); + var users = new GlideRecord('sys_user'); + users.addQuery('location', 'IN', locs); + users.query(); + + var l = ""; + while (users.next()) { + + l += users.sys_id + ","; + + } + return 'sys_idIN' + l; + }, + + type: 'getLoggedUserCountryLocs' +}; diff --git a/Server-Side Components/Script Includes/userManagement/README.md b/Server-Side Components/Script Includes/userManagement/README.md new file mode 100644 index 0000000000..9fd3ed6e07 --- /dev/null +++ b/Server-Side Components/Script Includes/userManagement/README.md @@ -0,0 +1,5 @@ + Filter Users by Department + + Overview +This Script Include returns users whose department is the same as the currently logged-in user’s department. +It can be used to filter the Caller field or any user reference field to show only users from the same department. diff --git a/Server-Side Components/Script Includes/userManagement/userManagement b/Server-Side Components/Script Includes/userManagement/userManagement new file mode 100644 index 0000000000..841b90d0f4 --- /dev/null +++ b/Server-Side Components/Script Includes/userManagement/userManagement @@ -0,0 +1,19 @@ +var getSameDeptUsers = Class.create(); +getSameDeptUsers.prototype = { + initialize: function() {}, + getSameDept: function() { + var user = gs.getUser().getDepartmentID(); + var d = new GlideRecord('sys_user'); + d.addQuery('department', user); + d.query(); + + var str = ""; + while (d.next()) { + str = str + "," + d.sys_id; + } + return 'sys_idIN' + str; + + }, + + type: 'getSameDeptUsers' +};