From 03bbc6f9d9a02bbd2a7885a4c85f83044d154b94 Mon Sep 17 00:00:00 2001 From: Maheshkh9738 Date: Wed, 29 Oct 2025 21:29:03 +0530 Subject: [PATCH 1/3] Create Readme.md --- .../Catalog Client Script/Catalog Approval/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Client-Side Components/Catalog Client Script/Catalog Approval/Readme.md diff --git a/Client-Side Components/Catalog Client Script/Catalog Approval/Readme.md b/Client-Side Components/Catalog Client Script/Catalog Approval/Readme.md new file mode 100644 index 0000000000..cb49be2676 --- /dev/null +++ b/Client-Side Components/Catalog Client Script/Catalog Approval/Readme.md @@ -0,0 +1 @@ +This project adds a dynamic preview feature to Service Catalog items, allowing users to see the full approval chain before submitting a request. It improves transparency, reduces confusion, and helps users understand who will be involved in the approval process based on their selections. From 671e1907842db109b8dcb56cba5ae9914afc5a0f Mon Sep 17 00:00:00 2001 From: Maheshkh9738 Date: Wed, 29 Oct 2025 21:31:59 +0530 Subject: [PATCH 2/3] Create script include.js --- .../Catalog Approval/script include.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Client-Side Components/Catalog Client Script/Catalog Approval/script include.js diff --git a/Client-Side Components/Catalog Client Script/Catalog Approval/script include.js b/Client-Side Components/Catalog Client Script/Catalog Approval/script include.js new file mode 100644 index 0000000000..db94b99438 --- /dev/null +++ b/Client-Side Components/Catalog Client Script/Catalog Approval/script include.js @@ -0,0 +1,20 @@ +var ApprovalChainHelper = Class.create(); +ApprovalChainHelper.prototype = Object.extendsObject(AbstractAjaxProcessor, { + getApprovers: function() { + var itemId = this.getParameter('sysparm_item_id'); + var userId = gs.getUserID(); + + var approvers = []; + + // Example logic: fetch approval rules based on item and user + var ruleGR = new GlideRecord('sysapproval_approver'); + ruleGR.addQuery('document_id', 80f8920bc3e4b2105219daec050131e3); + ruleGR.query(); + + while (ruleGR.next()) { + approvers.push(ruleGR.approver.name.toString()); + } + + return JSON.stringify(approvers); + } +}); From 669bc47859697f7fe167b2f094c212fb154ee7cb Mon Sep 17 00:00:00 2001 From: Maheshkh9738 Date: Wed, 29 Oct 2025 21:33:13 +0530 Subject: [PATCH 3/3] Create client script.js --- .../Catalog Approval/client script.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Client-Side Components/Catalog Client Script/Catalog Approval/client script.js diff --git a/Client-Side Components/Catalog Client Script/Catalog Approval/client script.js b/Client-Side Components/Catalog Client Script/Catalog Approval/client script.js new file mode 100644 index 0000000000..d5af4a33d6 --- /dev/null +++ b/Client-Side Components/Catalog Client Script/Catalog Approval/client script.js @@ -0,0 +1,10 @@ +function onLoad() { + var ga = new GlideAjax('ApprovalChainHelper'); + ga.addParam('sysparm_name', 'getApprovers'); + ga.addParam('sysparm_item_id', g_form.getUniqueValue()); + ga.getXMLAnswer(function(response) { + var approvers = JSON.parse(response); + var message = 'This request will be approved by: ' + approvers.join(', '); + g_form.showFieldMsg('requested_for', message, 'info'); + }); +}