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"
# ...
},
};