From 8ecf6e7ffe432fdb8ff1bdfe39614ba97b0847f0 Mon Sep 17 00:00:00 2001 From: tab22 <30366222+tab22@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:13:15 +0000 Subject: [PATCH 1/3] Create WeekendChecker.js --- .../Check Weekend - Client Side/WeekendChecker.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js diff --git a/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js new file mode 100644 index 0000000000..08399fd306 --- /dev/null +++ b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js @@ -0,0 +1,12 @@ +//Script Include +var DateUtilityAjax = Class.create(); +DateUtilityAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, { +//Returns true if the current server date is a weekend + isWeekend: function() { + var gdt = new GlideDateTime(); + var dayOfWeek = gdt.getDayOfWeekLocalTime(); // Sunday = 1, Monday = 2, ..., Saturday = 7 in Servicenow + return (dayOfWeek === 1 || dayOfWeek === 7); + }, + + type: 'DateUtilityAjax' +}); From cc47c53e4407b8e4507a6acfd5b56616e4dfa3b8 Mon Sep 17 00:00:00 2001 From: tab22 <30366222+tab22@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:19:13 +0000 Subject: [PATCH 2/3] Update WeekendChecker.js --- .../WeekendChecker.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js index 08399fd306..b3b624bb92 100644 --- a/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js +++ b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/WeekendChecker.js @@ -10,3 +10,19 @@ DateUtilityAjax.prototype = Object.extendsObject(AbstractAjaxProcessor, { type: 'DateUtilityAjax' }); + +//Client Script - GlideAjax +function onLoad() { + var ga = new GlideAjax('DateUtilityAjax'); + ga.addParam('sysparm_name', 'isWeekend'); + + ga.getXMLAnswer(function(answer) { + var isWeekend = (answer === 'true'); + + if (isWeekend) { + g_form.addInfoMessage('Server reports it’s the weekend - some actions are restricted.'); + } else { + g_form.addInfoMessage('Weekday detected - normal operations available.'); + } + }); +} From dce681e8d782c1dd9100128923151e2690407e49 Mon Sep 17 00:00:00 2001 From: tab22 <30366222+tab22@users.noreply.github.com> Date: Mon, 27 Oct 2025 10:24:27 +0000 Subject: [PATCH 3/3] Create README.md --- .../Check Weekend - Client Side/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/README.md diff --git a/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/README.md b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/README.md new file mode 100644 index 0000000000..3f0696495c --- /dev/null +++ b/Core ServiceNow APIs/GlideAjax/Check Weekend - Client Side/README.md @@ -0,0 +1,19 @@ + +# ServiceNow Weekend Checker (Client-Side Utility) + +A reusable client-side script to detect weekends (Saturday/Sunday) and modify ServiceNow form behaviour accordingly. + +# Overview + +This project contains a simple, reusable utility for determining if the current date (based on the user’s browser timezone) falls on a weekend. +It’s ideal for Client Scripts, Catalog Client Scripts, or Service Portal widgets. + +# Features + +- ✅ Lightweight — no dependencies +- ✅ Works across all client script contexts +- ✅ Includes helper method for automatic info messages + +## ⚙️ Usage +Create the Script Include present in the WeekendChecker.js file +Use the Client-Side Script to call GlideAjax and determine if the day/date is a weekend or not.