Queues in Customer Front End

From OtterHub - OTRS Community Wiki
Jump to: navigation, search

By default, a customer would see all queues in the customer front end to which he has rights. This is not always desired, because for instance all tickets are supposed to go to the Service Desk queue.

Here are a couple of tips that might help


Blacklisting queues

You can hide queues based on an ACL.

$Self->{TicketAcl}->{'ACL-Customer-Queues'} = {
    Properties => {Frontend => {Action => ['CustomerTicketMessage'] }},
    PossibleNot => { Ticket => { Queue => [
        '[RegExp]::',               # this hides all sub-queues
        '[RegExp]^MyOtherQueue',    # this hides just one queue
        '[RegExp]^MyLastQueue',] }  # and just hide one more queue... 
    }
};

Whitelisting queues

if youd want to explicitly specify which queues are allowed, you can use CustomerPanelOwnSelection under Frontend::Customer::Ticket::ViewNew in the SysConfig to explicitly name the queues that must be displayed.

Setting a default queue

You can set a default queue by change the SysConfig Option "Action" in Frontend::Customer::ModuleRegistration below "Ticket"-Group to something like:

Action=CustomerTicketMessage;Subaction=StoreNew;Dest=1||Postmaster

where 1 is the Queue ID and Postmaster is the queue name.

Setting a default queue in v3 using Config.pm

For those who prefer to set defaults in Config.pm, this has been tested and is working on a v3.x installation. Unfortunately the above didn't work as Expand seems to be a required parameter in v3.x. -ekovarski

   $Self->{'CustomerFrontend::Module'}->{'CustomerTicketMessage'} = {
      'Title' => 'New Ticket',
      'Description' => 'Create tickets',
      'NavBarName' => 'Ticket',
      'NavBar' => [
                   {
                     'Description' => 'Create New Ticket',
                     'Name' => 'New Ticket',
                     'Link' => 'Action=CustomerTicketMessage;Subaction=StoreNew;Expand=3;Dest=5||Support',
                     'Prio' => '100',
                     'AccessKey' => 'n'
                   }
      ],
   };

Note: If you want your interface to be consistent then you also have to customize CustomerTicketOverView.dtl by modifying the EmptyDefault section and specifically adjusting the Baselink to use the same as the previous link, e.g.

          <a class="Button" href="$Env{"Baselink"}Action=CustomerTicketMessage;Subaction=StoreNew;Expand=3;Dest=5||Support">$Text{"Create your first ticket"}</a>