Reference

In the example below there is a list of all parameters which can be used for ACLs.

Example 18.5. Reference showing all possible important ACL settings.

# ticket acl
$Self->{TicketAcl}->{'200-ACL-Reference'} = {
    # match properties
    Properties => {
        # current action match properties
        Frontend => {
            Action => ['AgentTicketPhone', 'AgentTicketEmail'],
        },
        # current queue match properties
        Queue => {
            Name     => ['Raw'],
            QueueID  => ['some id'],
            GroupID  => ['some id'],
            Email    => ['some email'],
            RealName => ['OTRS System'],
            # ...
            }
        },
        # current user match properties
        User => {
            UserLogin => ['some login'],
            # ...
            Group_rw => [
                'hotline',
            ],
            # ...
        },
        # current customer user match properties
        CustomerUser => {
            UserLogin => ['some login'],
            # ...
        },
        # current service match properties
        Service => {
            ServiceID => ['some id'],
            Name      => ['some name'],
            ParentID  => ['some id'],
            # ...
        },
        # current type match properties
        Type => {
            ID   => ['some id'],
            Name => ['some name'],
            # ...
        },
        # current priority match properties
        Priority = {
            ID   => ['some id'],
            Name => ['some name'],
            # ...
        },
        # current SLA match properties
        SLA = {
            SLAID    => ['some id'],
            Name     => ['some name'],
            Calendar => ['some calendar'],
            # ...
        },
        # current state match properties
        State = {
            ID       => ['some id'],
            Name     => ['some name'],
            TypeName => ['some state type name'],,
            TypeID   => ['some state type id'],
            # ...
        },
        # current ticket owner match properties
        Owner => {
            UserLogin => ['some login'],
            # ...
            Group_rw => [
                'some group',
            ],
            # ...
        },
        # current ticket responsible match properties
        Responsible => {
            UserLogin => ['some login'],
            # ...
            Group_rw => [
                'some group',
            ],
            # ...
        },
        # current dynamic field match properties
        DynamicField => {
            # keys must be in DynamicField_<field_name> format
            DynamicField_Field1          => ['some value'],
            DynamicField_OtherField      => ['some value'],
            DynamicField_TicketFreeText2 => ['some value'],
            # ...
        },
        # current ticket match properties
        Ticket => {
            Queue                => ['Raw'],
            State                => ['new', 'open'],
            Priority             => ['some priority'],
            Lock                 => ['lock'],
            CustomerID           => ['some id'],
            CustomerUserID       => ['some id'],
            Owner                => ['some owner'],
            DynamicField_Field1  => ['some value'],     # Must be the untranslated values
                                                        #   specified in the dynamic field
                                                        #   definition and not the IDs
            DynamicField_MyField => ['some value'],
            # ...
        },
    },
    # return possible options (white list)
    Possible => {
        # possible ticket options (white list)
        Ticket => {
            Queue => ['Hotline', 'Coordination'],
            State => ['some state'],
            Priority => ['5 very high'],
            DynamicField_Field1  => ['some value'],
            DynamicField_MyField => ['some value'],
            # ...
            NewOwner => ['some owner'],
            OldOwner => ['some owner'],
            # ...
        },
        # possible action options (white list)
        Action => {
            AgentTicketBounce        => 1,
            AgentTicketClose         => 1,
            AgentTicketCompose       => 0,
            AgentTicketCustomer      => 0,
            AgentTicketForward       => 0,
            AgentTicketFreeText      => 1,
            AgentTicketHistory       => 1,
            AgentTicketLink          => 0,
            AgentTicketLock          => 1,
            AgentTicketMerge         => 0,
            AgentTicketMove          => 1,
            AgentTicketNote          => 1,
            AgentTicketOwner         => 1,
            AgentTicketPending       => 1,
            AgentTicketPhone         => 1, # only used to hide the Split action
            AgentTicketPhoneInbound  => 0,
            AgentTicketPhoneOutbound => 1,
            AgentTicketPrint         => 1,
            AgentTicketPriority      => 0,
            AgentTicketResponsible   => 1,
            AgentTicketWatcher       => 1,
            AgentTicketZoom          => 1,
            AgentLinkObject          => 1, # only used to hide the Link action
        },
    },
    # remove options (black list)
    PossibleNot => {
        # See section "Possible"
        # ...
    },
};


OTRS Appliance - Powered by TurnKey Linux