File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed
Client-Side Components/UI Actions/Close Related HR cases & HR tasks Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ var close_item = Class . create ( ) ;
2+ close_item . prototype = Object . extendsObject ( global . AbstractAjaxProcessor , {
3+ getRelatedItems : function ( ) {
4+ var caseId = this . getParameter ( 'sysparm_case_id' ) ;
5+ var results = [ ] ;
6+
7+ // Get child HR cases
8+ var childCases = new GlideRecord ( 'sn_hr_core_case' ) ;
9+ childCases . addQuery ( 'parent' , caseId ) ;
10+ childCases . query ( ) ;
11+ while ( childCases . next ( ) ) {
12+ results . push ( { type : 'HR Case' , number : childCases . getValue ( 'number' ) } ) ;
13+ }
14+
15+ // Get tasks
16+ var tasks = new GlideRecord ( 'sn_hr_core_task' ) ;
17+ tasks . addQuery ( 'hr_case' , caseId ) ;
18+ tasks . query ( ) ;
19+ while ( tasks . next ( ) ) {
20+ results . push ( { type : 'HR Task' , number : tasks . getValue ( 'number' ) } ) ;
21+ }
22+
23+ return JSON . stringify ( results ) ;
24+ } ,
25+ closeRelatedItems : function ( ) {
26+ var caseId = this . getParameter ( 'sysparm_case_id' ) ;
27+
28+ // Close child cases
29+ var childCases = new GlideRecord ( 'sn_hr_core_case' ) ;
30+ childCases . addQuery ( 'parent' , caseId ) ;
31+ childCases . query ( ) ;
32+ while ( childCases . next ( ) ) {
33+ childCases . setValue ( 'state' , '3' ) ;
34+ childCases . update ( ) ;
35+ }
36+
37+ // Close tasks
38+ var tasks = new GlideRecord ( 'sn_hr_core_task' ) ;
39+ tasks . addQuery ( 'hr_case' , caseId ) ;
40+ tasks . query ( ) ;
41+ while ( tasks . next ( ) ) {
42+ tasks . setValue ( 'state' , '3' ) ;
43+ tasks . update ( ) ;
44+ }
45+
46+ return "done" ;
47+
48+ } ,
49+ type : 'close_task'
50+ } ) ;
You can’t perform that action at this time.
0 commit comments