ist es möglich für die Prozesstickets auch ein Icon mit der Anzahl der Tickets in der Toolbar anzuzeigen wie Beispielweise bei "Verantwortlich" oder "Besitzer"? Ich konnte nur die Schaltfläche zum Anzeigen oder Erstellen von Prozess Tickets finden.
Ich hab mir das "Icon" von Ticket Responsible mal genauer angeschaut und versucht nachzubauen. Dabei bin ich auf die Datei TicketResponsible.pm unter otrs/Kernel/Output/HTML/ToolBar/ gestoßen. Ist es möglich diese Datei als TicketProcess abzuspeichern und dementsprechend abzuändern dass die Prozess Tickets gezählt werden?
Hier der Code der TicketResponsible.pm:
Code: Select all
# --
# Copyright (C) 2001-2020 xxx, 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::ToolBar::TicketResponsible;
use parent 'Kernel::Output::HTML::Base';
use strict;
use warnings;
use Kernel::Language qw(Translatable);
our @ObjectDependencies = (
'Kernel::Config',
'Kernel::Output::HTML::Layout',
'Kernel::System::Log',
'Kernel::System::Ticket',
);
sub Run {
my ( $Self, %Param ) = @_;
my $ConfigObject = $Kernel::OM->Get('Kernel::Config');
# check responsible feature
return if !$ConfigObject->Get('Ticket::Responsible');
# check needed stuff
for (qw(Config)) {
if ( !$Param{$_} ) {
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => "Need $_!"
);
return;
}
}
return if !$ConfigObject->Get('Frontend::Module')->{AgentTicketResponsibleView};
# get ticket object
my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
my $Count = $TicketObject->TicketSearch(
Result => 'COUNT',
StateType => 'Open',
ResponsibleIDs => [ $Self->{UserID} ],
UserID => $Self->{UserID},
Permission => 'ro',
) || 0;
my $CountNew = $TicketObject->TicketSearch(
Result => 'COUNT',
StateType => 'Open',
ResponsibleIDs => [ $Self->{UserID} ],
TicketFlag => {
Seen => 1,
},
TicketFlagUserID => $Self->{UserID},
UserID => $Self->{UserID},
Permission => 'ro',
) || 0;
$CountNew = $Count - $CountNew;
my $CountReached = $TicketObject->TicketSearch(
Result => 'COUNT',
StateType => ['pending reminder'],
ResponsibleIDs => [ $Self->{UserID} ],
TicketPendingTimeOlderMinutes => 1,
UserID => $Self->{UserID},
Permission => 'ro',
) || 0;
my $Class = $Param{Config}->{CssClass};
my $ClassNew = $Param{Config}->{CssClassNew};
my $ClassReached = $Param{Config}->{CssClassReached};
my $Icon = $Param{Config}->{Icon};
my $IconNew = $Param{Config}->{IconNew};
my $IconReached = $Param{Config}->{IconReached};
my $URL = $Kernel::OM->Get('Kernel::Output::HTML::Layout')->{Baselink};
my %Return;
my $Priority = $Param{Config}->{Priority};
if ($CountNew) {
$Return{ $Priority++ } = {
Block => 'ToolBarItem',
Description => Translatable('Responsible Tickets New'),
Count => $CountNew,
Class => $ClassNew,
Icon => $IconNew,
Link => $URL . 'Action=AgentTicketResponsibleView;Filter=New',
AccessKey => $Param{Config}->{AccessKeyNew} || '',
};
}
if ($CountReached) {
$Return{ $Priority++ } = {
Block => 'ToolBarItem',
Description => Translatable('Responsible Tickets Reminder Reached'),
Count => $CountReached,
Class => $ClassReached,
Icon => $IconReached,
Link => $URL . 'Action=AgentTicketResponsibleView;Filter=ReminderReached',
AccessKey => $Param{Config}->{AccessKeyReached} || '',
};
}
if ($Count) {
$Return{ $Priority++ } = {
Block => 'ToolBarItem',
Description => Translatable('Responsible Tickets Total'),
Count => $Count,
Class => $Class,
Icon => $Icon,
Link => $URL . 'Action=AgentTicketResponsibleView',
AccessKey => $Param{Config}->{AccessKey} || '',
};
}
return %Return;
}
1;
Markus