- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2022 06:27 AM
Hi,
We have one Catalog request with three catalog tasks and UI action button "Close Task" on the catalog tasks.
Now the requirement is on the second catalog task, to show the "Close Task" UI action button only for some assignment group members and for the rest of the assignment group members this should not be visible.
Apart from this there is a STATE field in the catalog task, there also we need to hide "Close Complete" status as per the above condition.
Note: All the above should be applicable only to Catalog Task2.
Any ideas or suggestions highly appreciated.
regards,
Raghesh
Solved! Go to Solution.
- Labels:
-
Service Catalog
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2022 05:58 AM
Hi,
use this
var ShowCloseTask = Class.create();
ShowCloseTask.prototype = Object.extendsObject(AbstractAjaxProcessor, {
initialize: function(current){
},
checkCondition: function(current){
if((gs.getUser().isMemberOf('Testing & Quality') || gs.getUser().isMemberOf('IT ServiceDesk & EUS') || gs.getUser().isMemberOf('Problem Manager')) && current.request_item.cat_item == '325ada7adbac8490d71941efaa9619bb' && current.short_description.indexOf('Task 2 : Test')){
return true;
}
else {
return false;
}
},
type: 'ShowCloseTask'
});
UI Action condition:
new ShowCloseTask().checkCondition(current);
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2022 06:32 AM
Hi,
You can use script include function to evaluate all criteria for your task.
Make a script include call and check all values like sc_task state, short description and logged IN user membership. return true or false if condition doe not match.
Check below links for more information and how to call script include function:
https://community.servicenow.com/community?id=community_blog&sys_id=2c6ceaa1dbd0dbc01dcaf3231f96190c
Thanks,
Anil Lande
Thanks
Anil Lande
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2022 04:31 AM
Hi Anil,
I got your point as you are asking to create a script include to check the conditions and then call it from the UI action condition.
But I have very little knowledge on the scripting side, so could you please help with a template/sample script.
regards,
Raghesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2022 04:35 AM
Hi,
please start from your side and it would learning for you as well
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-19-2022 05:32 AM
Hi Ankur,
I have tried a script include but not sure if it is correct or not and giving some error.
var ShowCloseTask = Class.create();
ShowCloseTask.prototype = Object.extendsObject(AbstractAjaxProcessor, {
initialize: function(){
var checkMemberOf = new GlideRecord('sc_task');
if(gs.getUser().isMemberOf('Testing & Quality','IT ServiceDesk & EUS','Problem Manager') && current.request_item.cat_item == '325ada7adbac8490d71941efaa9619bb' && desc.indexOf('Task 2 : Test'));
return true;
}
else {
return false;
}
{
answer = true;
}
type: 'ShowCloseTask'
});
regards,
Raghesh