# -- # Copyright (C) 2001-2019 OTRS AG, https://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (GPL). If you # did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- package Kernel::Output::HTML::NavBar::AgentTicketService; use parent 'Kernel::Output::HTML::Base'; use strict; use warnings; use Kernel::System::VariableCheck qw(:all); our @ObjectDependencies = ( 'Kernel::Config', ); sub Run { my ( $Self, %Param ) = @_; # get config object my $ConfigObject = $Kernel::OM->Get('Kernel::Config'); # check if frontend module is registered (otherwise return) my $Config = $ConfigObject->Get('Frontend::Module')->{AgentTicketService}; my $Navigation = $ConfigObject->Get('Frontend::Navigation')->{AgentTicketService}; return if !IsHashRefWithData($Config); return if !IsHashRefWithData($Navigation); return if !IsArrayRefWithData( $Navigation->{'002-Ticket'} ); # check if ticket service feature is enabled, in such case there is nothing to do return if $ConfigObject->Get('Ticket::Service'); # frontend module is enabled but not ticket service, then remove the menu entry my $NavBarName = $Config->{NavBarName}; my $Priority = sprintf( '%07d', $Navigation->{'002-Ticket'}->[0]->{Prio} ); my %Return = %{ $Param{NavBar}->{Sub} }; # remove AgentTicketService from the TicketMenu delete $Return{$NavBarName}->{$Priority}; return ( Sub => \%Return ); } 1;