
- 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-24-2019 11:56 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-24-2019 05:05 PM
Chase you have an extra semi-colon at the end of line 3 which may be why the script isn't working.

- 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-25-2019 07:00 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-25-2019 09:08 AM
Glad to here that it is working Chase. 🙂