ACL for listview not working

Abigail
Tera Expert

What I need is an ACL on the list view: users with the x_role should have access to records with the x_type. If they don’t have the role, those types of change requests should not be visible.

I tested this with a user who only has the itil role, and when I impersonate that user, the records are still visible. I need it so that only users with the x_role or the admin role can see those records.

Current ACL:

Type: Record
Operation: Read
Decision Type: Allow if
Name: Change Request
Script:

 

answer = (current.type == 'x_type') && gs.hasRole('x_role');

I tried also without scripting but still not working

15 REPLIES 15

GlideFather
Tera Patron

@Abigail the script seems to be incorrect, try something like this:

if (current.type == 'x_type') && gs.hasRole('x_role') {
answer = true; 
} else {
answer = false;
}

 

 

EDIT: answer = true

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


Hello @GlideFather 
Same result,  x_type change requests are still visible when I impersonate a user with only the itil role.

@Abigail wait wait wait, x_type is a filed to be hidden or its value is a prerequisite to display/hide it?

 

ACL for your_table.x_type 

 

and scripted condition:

if (gs.hasRole('x_role')) {
answer = true; 
} else {
answer = false;
}

//eventually Exactly
if (gs.hasRoleExactly('x_role')) {
answer = true; 
} else {
answer = false;
}

 

 

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */


@Abigail 
or I got inspired from existing records and it could be this one-liner:

 

- depending on the x_type, i'm not sure what is the meaning of it, based on that:

answer = (gs.hasRole('x_role'));
answer = (current.type == 'x_type' && gs.hasRole('x_role'));

 

———
/* If my response wasn’t a total disaster ↙️ drop a Kudos or Accept as Solution ↘️ Cheers! */