- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 07:44 AM
Hi,
When an user sets the state to closed rejected on first catalog task, an alert will be triggered asking them to click on save button instead of close task button(it sets the state to closed complete). Still some users are clicking on close task button after setting the state to closed rejected and the state is getting closed complete instead of closed rejected.
So, we have decided to hide 'close task' UI action on first catalog task. I have created a UI policy with the below condition and selected isolate script to false.
function onCondition() {
$$('#close_sc_task')[0].hide();
}It's working as per the requirement, but previewing the reference records from SC task form (like request item, requested for, item) is not working.
I have tried inserting the condition within UI action condition field, but it works only during onLoad. I need this functionality to work during onChange. Please assist.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 10:10 AM
Hi @sath ,
I am not sure what logic you are applying to check whether that's a first task or not. I applied my own logic to determine it, if it is the first one to be closed and all the remaining SC Tasks of that Requested Item are in the open state then I am considering it as an open Task.
In order to achieve this I am using a Display Business Rule and declared a scratchpad variable. Please find the code below.
Display BR Code:-
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 12:31 PM
Hi @sath ,
You already applied the logic to hide the Button based on the field change. If it is not working then you can go with a workaround of aborting the action.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-17-2023 06:48 AM
Hi @Mallidi Suma I have the logic to check if its first catalog task, but couldn't hide the button. Tried to modify the UI action conditions field, but its not working. How do I abort the action?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 08:50 AM
Hi @sath
You can try to uncheck isolate script field on your UI policy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 09:08 AM
Hi @Othman Arkab , I have unchecked isolate script already, its not allowing to preview records. If I check isolate script, it's not working.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-16-2023 10:59 AM
try to create script include to check if the selected scTask (current) is the first one created if so you can call you hide function
Something like this:
script include :
var checkiffirst = Class.create();
checkiffirst.prototype = Object.extendsObject(AbstractAjaxProcessor, {
process: function() {
var scReqItem = this.getParameter("sysparm_scReqItem");
var scTask = this.getParameter("sysparm_scTask");
var gr = new GlideRecord("sc_task");
gr.addQuery("requested_item", scReqItem);
gr.orderByDesc('sys_created_on');
gr.query();
if (gr.next()) {
if(gr.sys_id == scTask)
return true;
else
return false;
}
},
type: 'checkiffirst'
});
ui policy :
function onCondition() {
var ga = new GlideAjax('checkiffirst');
ga.addParam('sysparm_scReqItem', g_form.getValue('request_item'));
ga.addParam('sysparm_scTask', g_form.getUniqueValue());
ga.getXML(resp);
function resp(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if(answe == 'true')
$$('#close_sc_task')[0].hide(); or show
}
}
