& /Elements/Header, Title => $title &> <& /Tools/Reports/Elements/Tabs, current_tab => "Tools/Reports/$thispage", Title => $title &>
<% $Report |n %>
<%args>
$StartDate => undef
$EndDate => undef
$Detailed => 'false'
$ChartStyle => 0
%args>
<%once>
use Data::Dumper;
use Date::Format;
my $thispage = "WorkByClassification.html";
my $title = loc("Tickets worked on in one month, grouped by classification");
my @Months = qw(none January February March April May June July August September October November December);
my @ChartList = qw(bars hbars pie points lines);
%once>
<%init>
# Generate a list of data
my $dateobj = RT::Date->new($RT::SystemUser);
my $cimg = '';
my %data;
my $Report = '';
$ChartStyle = int($ChartStyle); # Make sure it's an integer!
if ($StartDate or $EndDate) {
if ($StartDate) {
$dateobj->Set(Format => 'unknown', Value => "$StartDate 00:00:00UTC");
$StartDate = $dateobj->ISO();
}
if ($EndDate) {
$dateobj->Set(Format => 'unknown', Value => "$EndDate 00:00:00UTC");
$EndDate = $dateobj->ISO();
}
my $CF = RT::CustomField->new($session{'CurrentUser'});
$CF->LoadByName(Name => 'Classification');
my $values = $CF->Values();
while (my $v = $values->Next()) {
my $Tickets = RT::Tickets->new($session{'CurrentUser'});
if ($StartDate) {
$Tickets->LimitTransactionDate(OPERATOR => '>', VALUE => $StartDate);
}
if ($EndDate) {
$Tickets->LimitTransactionDate(OPERATOR => '<', VALUE => $EndDate);
}
$Tickets->LimitCustomField(CUSTOMFIELD => $CF->id, VALUE => $v->Name, OPERATOR => '=');
if ($Detailed eq 'true') {
$data{$v->Name} += $Tickets->Count;
} else {
$data{$v->Category} += $Tickets->Count;
}
}
while (my ($key,$value) = each(%data)) {
$cimg .= "&Keys=$key&Values=$value";
}
if ($cimg) {
$Report = "\n";
$Report .= "
Group/Classification | Number of Tickets |
---|---|
" . $key . " | " . $value . " |