From f7503aa36a34c93415bdbb89b437e954281bc25f Mon Sep 17 00:00:00 2001 From: Indra-kolge <123245160+Indra-kolge@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:45:11 +0530 Subject: [PATCH 1/5] CloseChildCases.js --- .../UI Actions/CloseChildCases/CloseChildCases.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js diff --git a/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js b/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js new file mode 100644 index 0000000000..50e8a34515 --- /dev/null +++ b/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js @@ -0,0 +1,15 @@ +var gr = new GlideRecord('sn_customerservice_case'); +gr.addQuery('parent', current.sys_id); +gr.query(); +var counter = 0; +while (gr.next()) { + if (gr.state != 3) { + gr.resolution_code = '16'; + gr.close_notes = 'This case was auto closed from the parent case.'; + gr.state = '3'; + gr.update(); + counter++; + } +} +gs.addInfoMessage(counter + ' cases have been closed.'); +action.setRedirectURL(current); From 379c558d7d8de9ae9021ce9ce8d6fcb72d9a97e5 Mon Sep 17 00:00:00 2001 From: Indra-kolge <123245160+Indra-kolge@users.noreply.github.com> Date: Fri, 17 Oct 2025 21:46:04 +0530 Subject: [PATCH 2/5] README.md --- .../UI Actions/CloseChildCases/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 Client-Side Components/UI Actions/CloseChildCases/README.md diff --git a/Client-Side Components/UI Actions/CloseChildCases/README.md b/Client-Side Components/UI Actions/CloseChildCases/README.md new file mode 100644 index 0000000000..123d66225e --- /dev/null +++ b/Client-Side Components/UI Actions/CloseChildCases/README.md @@ -0,0 +1,8 @@ +Name: Close all Child Case +Table:sn_customerservice_case +Condition: (gs.hasRole('sn_customerservice_agent') || gs.hasRole('admin') ) + +Use Case: +Provide UI action button to close all the associated child cases from the parent Case. + +Note:I've checked this on the PDI,this functionality is not OOB. From d72733e6691b4ceebcb05f0f35488470e922a784 Mon Sep 17 00:00:00 2001 From: Indra-kolge <123245160+Indra-kolge@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:42:17 +0530 Subject: [PATCH 3/5] README.md --- Client-Side Components/UI Actions/CloseChildCases/README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Client-Side Components/UI Actions/CloseChildCases/README.md b/Client-Side Components/UI Actions/CloseChildCases/README.md index 123d66225e..acebd5e82d 100644 --- a/Client-Side Components/UI Actions/CloseChildCases/README.md +++ b/Client-Side Components/UI Actions/CloseChildCases/README.md @@ -4,5 +4,3 @@ Condition: (gs.hasRole('sn_customerservice_agent') || gs.hasRole('admin') ) Use Case: Provide UI action button to close all the associated child cases from the parent Case. - -Note:I've checked this on the PDI,this functionality is not OOB. From dd5371085c4834579cd3c0b9c4c22f0017d26307 Mon Sep 17 00:00:00 2001 From: Indra-kolge <123245160+Indra-kolge@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:47:42 +0530 Subject: [PATCH 4/5] CloseChildCases.js --- .../CloseChildCases/CloseChildCases.js | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js b/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js index 50e8a34515..458278ddbd 100644 --- a/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js +++ b/Client-Side Components/UI Actions/CloseChildCases/CloseChildCases.js @@ -1,15 +1,23 @@ -var gr = new GlideRecord('sn_customerservice_case'); -gr.addQuery('parent', current.sys_id); -gr.query(); -var counter = 0; -while (gr.next()) { - if (gr.state != 3) { - gr.resolution_code = '16'; - gr.close_notes = 'This case was auto closed from the parent case.'; - gr.state = '3'; - gr.update(); - counter++; +(function executeAction() { + var grCase = new GlideRecord('sn_customerservice_case'); + grCase.addQuery('parent', current.sys_id); + grCase.query(); + + var counter = 0; + while (grCase.next()) { + if (grCase.state != 3) { // 3 = Closed + grCase.resolution_code = '16'; + grCase.close_notes = 'This case was auto closed from the parent case.'; + grCase.state = 3; + grCase.update(); + counter++; + } } -} -gs.addInfoMessage(counter + ' cases have been closed.'); -action.setRedirectURL(current); + + // Show info message only if any cases were closed + if (counter > 0) { + gs.addInfoMessage(counter + ' child case(s) have been closed.'); + } + + action.setRedirectURL(current); +})(); From 9ba4cc03ca3588cc7ebd30870e4eb2a25b1adf8a Mon Sep 17 00:00:00 2001 From: Indra-kolge <123245160+Indra-kolge@users.noreply.github.com> Date: Fri, 17 Oct 2025 22:49:11 +0530 Subject: [PATCH 5/5] README.md --- Client-Side Components/UI Actions/CloseChildCases/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Client-Side Components/UI Actions/CloseChildCases/README.md b/Client-Side Components/UI Actions/CloseChildCases/README.md index acebd5e82d..61f910aae0 100644 --- a/Client-Side Components/UI Actions/CloseChildCases/README.md +++ b/Client-Side Components/UI Actions/CloseChildCases/README.md @@ -1,6 +1,6 @@ Name: Close all Child Case Table:sn_customerservice_case -Condition: (gs.hasRole('sn_customerservice_agent') || gs.hasRole('admin') ) +Condition: (gs.hasRole('sn_customerservice_agent') || gs.hasRole('admin') ) && (new GlideRecord('sn_customerservice_case').addQuery('parent', current.sys_id).query().hasNext()) Use Case: Provide UI action button to close all the associated child cases from the parent Case.