diff --git a/Server-Side Components/Business Rules/AlertEmail/AlertEmail.js b/Server-Side Components/Business Rules/AlertEmail/AlertEmail.js new file mode 100644 index 0000000000..33e19c938e --- /dev/null +++ b/Server-Side Components/Business Rules/AlertEmail/AlertEmail.js @@ -0,0 +1,19 @@ + + +#BusinessRule +(function executeRule(current, previous /*null when async*/) { + + // Add your code here + var userEmail=current.caller_id.email; + g_scratchpad.callerEmail=userEmail; +})(current, previous); + + +#ClientScript +function onLoad() { + //Type appropriate comment here, and begin script below + + var mail=g_scratchpad.callerEmail; + alert("callers email address : "+mail); + +} diff --git a/Server-Side Components/Business Rules/AlertEmail/README.md b/Server-Side Components/Business Rules/AlertEmail/README.md new file mode 100644 index 0000000000..3e318c11f4 --- /dev/null +++ b/Server-Side Components/Business Rules/AlertEmail/README.md @@ -0,0 +1 @@ +When ever incident form loads show callers email address in an alert diff --git a/Server-Side Components/Business Rules/CountRelatedIncident/Count Incidents.js b/Server-Side Components/Business Rules/CountRelatedIncident/Count Incidents.js new file mode 100644 index 0000000000..828efda91f --- /dev/null +++ b/Server-Side Components/Business Rules/CountRelatedIncident/Count Incidents.js @@ -0,0 +1,14 @@ +(function executeRule(current, previous /*null when async*/) { + +var problemSysId = current.sys_id; +var agg = new GlideAggregate('incident'); +agg.addQuery('problem_id', problemSysId); +agg.addAggregate('COUNT'); +agg.query(); + +if (agg.next()) { + var incidentCount = agg.getAggregate('COUNT'); + gs.addInfoMessage('There are ' + incidentCount + ' incidents related to this problem.'); +} + +})(current, previous); diff --git a/Server-Side Components/Business Rules/DateDifference.js b/Server-Side Components/Business Rules/DateDifference.js new file mode 100644 index 0000000000..9d1abc63d9 --- /dev/null +++ b/Server-Side Components/Business Rules/DateDifference.js @@ -0,0 +1,12 @@ +(function executeRule(current, previous /*null when async*/) { + + // Add your code here +if(current.u_termination_date.changes()){ + var date1=current.u_current_date; + var date2=current.u_termination_date; + + var res=onDemand1(date1,date2); + gs.addInfoMessage("Date Difference is :"+res); + +} +})(current, previous); diff --git a/Server-Side Components/Business Rules/EmailAlert/EmailAlert.js b/Server-Side Components/Business Rules/EmailAlert/EmailAlert.js new file mode 100644 index 0000000000..8cc7ff7292 --- /dev/null +++ b/Server-Side Components/Business Rules/EmailAlert/EmailAlert.js @@ -0,0 +1,17 @@ +#Business Rule +(function executeRule(current, previous /*null when async*/) { + + // Add your code here + var userEmail=current.caller_id.email; + g_scratchpad.callerEmail=userEmail; +})(current, previous); + + +#ClientScript +function onLoad() { + //Type appropriate comment here, and begin script below + + var mail=g_scratchpad.callerEmail; + alert("callers email address : "+mail); + +} diff --git a/Server-Side Components/Business Rules/EmailAlert/README.md b/Server-Side Components/Business Rules/EmailAlert/README.md new file mode 100644 index 0000000000..2bcea994d6 --- /dev/null +++ b/Server-Side Components/Business Rules/EmailAlert/README.md @@ -0,0 +1,3 @@ + + +When ever incident form loads show callers email address in an alert diff --git a/Server-Side Components/Business Rules/MyFolder/CreateProblem.js b/Server-Side Components/Business Rules/MyFolder/CreateProblem.js new file mode 100644 index 0000000000..a08398dabb --- /dev/null +++ b/Server-Side Components/Business Rules/MyFolder/CreateProblem.js @@ -0,0 +1,14 @@ +(function executeRule(current, previous /*null when async*/) { + + // Add your code here +if(current.category == 'hardware'){ + var gr=new GlideRecord('problem'); + gr.initialize(); + gr.short_description=current.short_description; + gr.category=current.category; + gr.impact=current.impact; + gr.urgency=current.urgency; + gr.insert(); + +} +})(current, previous); diff --git a/Server-Side Components/Business Rules/MyFolder/README.md b/Server-Side Components/Business Rules/MyFolder/README.md new file mode 100644 index 0000000000..40f2c0dd02 --- /dev/null +++ b/Server-Side Components/Business Rules/MyFolder/README.md @@ -0,0 +1,2 @@ +This script is a ServiceNow Business Rule that automatically creates a Problem record whenever an Incident is created with the category set to "hardware". +It helps in ensuring that hardware-related incidents are tracked and analyzed properly through Problem Management. diff --git a/Server-Side Components/Business Rules/ProblemCount.js b/Server-Side Components/Business Rules/ProblemCount.js new file mode 100644 index 0000000000..db57692d39 --- /dev/null +++ b/Server-Side Components/Business Rules/ProblemCount.js @@ -0,0 +1,16 @@ + + +(function executeRule(current, previous /*null when async*/) { + +var problemSysId = current.sys_id; +var agg = new GlideAggregate('incident'); +agg.addQuery('problem_id', problemSysId); +agg.addAggregate('COUNT'); +agg.query(); + +if (agg.next()) { + var incidentCount = agg.getAggregate('COUNT'); + gs.addInfoMessage('There are ' + incidentCount + ' incidents related to this problem.'); +} + +})(current, previous); 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..ab3d9d7df3 --- /dev/null +++ b/Server-Side Components/Script Includes/Usermanagement/README.md @@ -0,0 +1,5 @@ +# Filter Users by Department + + +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' +};