
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-23-2019 11:41 AM
Hello, I have an advanced user criteria that is set up to restrict certain users from seeing a catalog item in the Service Catalog.
Here's the script:
var company = gs.getUser().getCompanyID();
if(!gs.hasRole('itil') && company == "TEST"); {
answer = false;
}
What I can't get to work is the user role portion. I've tried (!gs.getUser().hasRole('itil') and that still doesn't work.
There are users in "TEST" company that have ITIL role, and they need to be able to view the catalog item. How can I restrict this to non-itil TEST company users?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-24-2019 05:19 PM
Also you need to either wrap the other answer statement (answer = false) in an else statement or place it above the if statement as it is going to always return false.
var company = gs.getUser().getCompanyID();
if(!gs.hasRole('itil') && company == 'TEST'){
answer = true;
}else{
answer = false;
}
or
answer = false;
var company = gs.getUser().getCompanyID();
if(!gs.hasRole('itil') && company == 'TEST'){
answer = true;
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-23-2019 11:47 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-23-2019 11:51 AM
Thanks for the response, I understand I can make a criteria using your method, then set that criteria in the "available for" for the catalog item, but that will restrict that item to ONLY that user criteria. I want to do the inverse, leave it available to everybody, except if the user is in company TEST, and does NOT have ITIL role.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-23-2019 12:31 PM
Have you tried dvp's suggestion and using the criteria in the "Not Available for"?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-23-2019 12:42 PM
Then that definitely needs a
var company = gs.getUser().getCompanyID();
if(!gs.hasRole('itil') && company == "TEST"); {// in 'TEST' you should pass the sys_id of the company
answer = true;
}
and use the criteria under Not Available for