Advanced user criteria - trying to restrict catalog item to users with specific company, and without ITIL role

Chase Stevenson
Mega Guru

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?

1 ACCEPTED SOLUTION

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;

}

View solution in original post

21 REPLIES 21

So I need to check if user !have both ITIL and ADMIN roles? I tried the following script without any success:

find_real_file.png

Chase you have an extra semi-colon at the end of line 3 which may be why the script isn't working.

 

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;

}

Thank you for your response, I removed the extra semi-colon and wrapped the answer=false under the else statement. It now appears to be working:

find_real_file.png

Glad to here that it is working Chase. 🙂