Negate properties in an ACL?

Moderator: crythias

Locked
Mothra
Znuny expert
Posts: 189
Joined: 26 Oct 2010, 15:04
Znuny Version: 3.2.11

Negate properties in an ACL?

Post by Mothra »

Hi, I've created the following ACL to prevent tickets in a 2nd-line queue from being closed (the idea being that you move them up to 1st line support for them to be closed).

The problem is, there's one type of ticket I don't want this ACL to apply to (tickets where the 2nd staff deal with 3rd parties on technical issues). I could just list all the ones I do want it to apply to under Properties => Ticket, but this list is only going to get longer, whereas the list of tickets I don't want to apply the rule to is more likely to stay at 1.

Is there a way I can add a negative match (similar to the way you can add negative Possibilities with PossibleNot)? Or is there some other way to acheive what I want (can you override an ACL by adding in a second, or will it collide ungracefully?).

Code: Select all

# ACL to prevent tickets from being closed in the Banking Support Queue
$Self->{TicketAcl}->{'ACL-BankingSupportQueue-1'} = {
        # match properties
        Properties => {
            # current ticket match properties
            Ticket => {
                Queue => ['Banking Support'],
            }
        },
        # return possible options (white list)
        Possible => {
            # possible ticket options (white list)
            Ticket => {
                State => ['new', 'open', 'pending reminder'],
            },
            # possible action options
            Action => {
                AgentTicketLock => 1,
                AgentTicketZoom => 1,
                AgentTicketClose => 0,
                AgentTicketPending => 1,
                AgentTicketNote => 1,
                AgentTicketHistory => 1,
                AgentTicketPriority => 1,
                AgentTicketFreeText => 1,
                AgentTicketHistory => 1,
                AgentTicketCompose => 1,
                AgentTicketBounce => 1,
                AgentTicketTicketPrint => 1,
                AgentTicketForward => 0,
                AgentTicketTicketLink => 1,
                AgentTicketPrint => 1,
                AgentTicketPhone => 1,
                AgentTicketCustomer => 1,
                AgentTicketOwner => 1,
            },
        },
    };
OTRS 3.2.11 on Centos 6.4 with MySQL 5.0. Agents and internal customers authenticate via Active Directory.
Locked