- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 10:13 AM
Hi All,
I have created a UI action in Scoped Application to show on the Case form when the 1st Task created is moved to Closed state .
This UI action should only be visible when Step 1 task is closed . I am making a call to Script Include to query the table and return 'true' Or 'false' .
The Condition used to restrict the visibility of UI action is not working . Could you let me know if I am missing something in my Script .
Below is the UI Action
Below is the Script Include :
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
initialize: function checktaskclosure(current) {
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', current.sys_id);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
var gh = grt.state;
if (gh == '3') {
return true;
}
else{
return false;
}
},
type: 'SteptaskUtils'
};
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 04:16 PM
hi, could you please test this one
in condition, we will pass object current
new sn_hr_core.SteptaskUtils().checktaskclosure(current);
script include as below
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
initialize: function(){},
checktaskclosure: function(current) {
gs.info('Into the Script Include:');
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', current.sys_id);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
if(grt.next()){
var gh = grt.state;
gs.info('the state value is :' + gh);
if (gh == '3') {
return true;
}
else{
gs.info('Into Else:');
return false;
}
}
},
type: 'SteptaskUtils'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 01:26 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 01:31 PM
sorry, missing bracket at the end
this shall work
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
initialize: function() {},
checktaskclosure: function (sysid) {
gs.info('Into the Script Include:');
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', sysid);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
if(grt.next()){
var gh = grt.state;
gs.info('the state value is :' + gh);
if (gh == '3') {
return true;
}
else{
gs.info('Into Else:');
return false;
}
}
},
type: 'SteptaskUtils'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 01:41 PM
Hi
I have placed the code but still the 'Add Step2' Ui action is always appearing even before Step 1 task is created .
The condition is not working to show it only when Step1 is in 'Closed Complete' state.
Also, now it is not calling Script include as I dont see the log messages in logs.
Please guide me
Script Include :
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
iinitialize: function() {
},
checktaskclosure: function (sysid) {
gs.info('Into the Script Include:');
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', sysid);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
if(grt.next()){
var gh = grt.state;
gs.info('the state value is :' + gh);
if (gh == '3') {
gs.info('Into if Ture:');
return true;
}
else{
gs.info('Into Else:');
return false;
}
}
},
type: 'SteptaskUtils'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 04:16 PM
hi, could you please test this one
in condition, we will pass object current
new sn_hr_core.SteptaskUtils().checktaskclosure(current);
script include as below
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
initialize: function(){},
checktaskclosure: function(current) {
gs.info('Into the Script Include:');
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', current.sys_id);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
if(grt.next()){
var gh = grt.state;
gs.info('the state value is :' + gh);
if (gh == '3') {
return true;
}
else{
gs.info('Into Else:');
return false;
}
}
},
type: 'SteptaskUtils'
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-19-2020 05:08 PM
Hi
Thanks very much , this time it worked .
I am trying to include another UI action to create Step 3 task .
I have include another function like below , please see Script include .
This is not working for Step3 task , am I doing it correctly ?
var SteptaskUtils = Class.create();
SteptaskUtils.prototype = {
initialize: function() {},
checktaskclosure: function(current) {
gs.info('Into the Script Include:');
var grt = new GlideRecord('sn_hr_core_task');
grt.addQuery('parent', current.sys_id);
grt.addQuery('short_description', 'Step1 Task');
grt.query();
gs.info('the returned records are :' + grt.getRowCount());
if (grt.next()) {
var gh = grt.state;
gs.info('the state value is :' + gh);
if (gh == '3') {
gs.info('into if true:');
return true;
} else {
gs.info('Into Else:');
return false;
}
}
},
checktask2closure: function(current) {
gs.info('Into the Script Include task2:');
var grt2 = new GlideRecord('sn_hr_core_task');
grt2.addQuery('parent', current.sys_id);
grt2.addQuery('short_description', 'Step2 Task');
grt2.query();
gs.info('the returned records are task2:' + grt2.getRowCount());
if (grt2.next()) {
var gh2 = grt2.state;
gs.info('the state value is :' + gh);
if (gh2 == '3') {
gs.info('into if true task2:');
return true;
} else {
gs.info('Into Else task 2:');
return false;
}
}
},
type: 'SteptaskUtils'
};