From b4b0c7e72d7eaee2fbfc7022022c9698323203dd Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 31 Dec 2009 13:16:41 +0000 Subject: import rt 3.8.7 --- rt/share/html/Tools/Elements/Tabs | 90 ++++++++++++ rt/share/html/Tools/MyDay.html | 114 +++++++++++++++ rt/share/html/Tools/Offline.html | 168 +++++++++++++++++++++++ rt/share/html/Tools/Reports/CreatedByDates.html | 94 +++++++++++++ rt/share/html/Tools/Reports/Elements/Tabs | 89 ++++++++++++ rt/share/html/Tools/Reports/ResolvedByDates.html | 95 +++++++++++++ rt/share/html/Tools/Reports/ResolvedByOwner.html | 70 ++++++++++ rt/share/html/Tools/Reports/index.html | 76 ++++++++++ rt/share/html/Tools/index.html | 81 +++++++++++ 9 files changed, 877 insertions(+) create mode 100644 rt/share/html/Tools/Elements/Tabs create mode 100644 rt/share/html/Tools/MyDay.html create mode 100644 rt/share/html/Tools/Offline.html create mode 100644 rt/share/html/Tools/Reports/CreatedByDates.html create mode 100644 rt/share/html/Tools/Reports/Elements/Tabs create mode 100644 rt/share/html/Tools/Reports/ResolvedByDates.html create mode 100644 rt/share/html/Tools/Reports/ResolvedByOwner.html create mode 100644 rt/share/html/Tools/Reports/index.html create mode 100644 rt/share/html/Tools/index.html (limited to 'rt/share/html/Tools') diff --git a/rt/share/html/Tools/Elements/Tabs b/rt/share/html/Tools/Elements/Tabs new file mode 100644 index 000000000..4e497958e --- /dev/null +++ b/rt/share/html/Tools/Elements/Tabs @@ -0,0 +1,90 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Tabs, + tabs => $tabs, + current_toptab => 'Tools/index.html', + current_tab => $current_tab, + actions => $actions, + Title => $Title &> + +<%INIT> +my $tabs = { + a => { + title => loc('Dashboards'), + path => 'Dashboards/index.html', + }, + b => { + title => loc('Offline'), + path => 'Tools/Offline.html', + }, + c => { + title => loc('Reports'), + path => 'Tools/Reports/index.html', + }, + d => { + title => loc('My Day'), + path => 'Tools/MyDay.html', + }, +}; + +$m->callback( %ARGS, tabs => $tabs ); + +foreach my $tab ( sort keys %{$tabs} ) { + if ( $tabs->{$tab}->{'path'} eq $current_tab ) { + $tabs->{$tab}->{"subtabs"} = $subtabs; + $tabs->{$tab}->{"current_subtab"} = $current_subtab; + } +} + +<%ARGS> +$subtabs => undef +$current_tab => undef +$current_subtab => undef +$actions => undef +$Title => undef + diff --git a/rt/share/html/Tools/MyDay.html b/rt/share/html/Tools/MyDay.html new file mode 100644 index 000000000..aaa603169 --- /dev/null +++ b/rt/share/html/Tools/MyDay.html @@ -0,0 +1,114 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => $title &> +<& /Tools/Elements/Tabs, current_tab => "Tools/MyDay.html", Title => $title &> + +<& /Elements/ListActions, actions => \@results &> + +

<&|/l, $session{'CurrentUser'}->Name &>New and open tickets for [_1]

+
+ +% while ( my $Ticket = $Tickets->Next()) { +% $i++; +% my $class = $i % 2 ? 'class="evenline"' : 'class="oddline"'; +> +> + +> + + + +% } +

<%$Ticket->Id%>: +<%$Ticket->Subject%>

<&|/l&>Worked: <&|/l&>minutes +<&|/l&>Comments:
<&|/l&>Status: <& /Elements/SelectStatus, Name=> 'UpdateStatus-'.$Ticket->Id, + DefaultLabel => loc("[_1] (Unchanged)",loc($Ticket->Status())) &>
+<& /Elements/Submit, Label => loc('Record all updates') , Reset => 1, ResetLabel => loc('Clear')&> +
+ +<%INIT> +my $title = loc("What I did today"); + +my $i = 0; +my @results; +foreach my $arg ( keys %ARGS ) { + next unless ( $arg =~ /^UpdateStatus-(\d*)$/ ); + my $id = $1; + my $ticket = LoadTicket($id); + next unless ( $ticket->id ); + if ( my $content = $ARGS{'UpdateContent-'.$id} ) { + my ( $val, $msg ) = $ticket->Comment( + Content => $content, + TimeTaken => $ARGS{ 'UpdateTimeWorked-' . $id } + ); + push @results, loc( "Ticket [_1]: [_2]", $id, $msg ); + } elsif ( my $worked = $ARGS{ 'UpdateTimeWorked-' . $id } ) { + my ( $val, $msg ) = $ticket->SetTimeWorked( $worked + $ticket->TimeWorked ); + push @results, loc( "Ticket [_1]: [_2]", $id, $msg ); + } + + if ( my $status = $ARGS{ 'UpdateStatus-' . $id } ) { + if ( $status ne $ticket->Status ) { + my ( $val, $msg ) = $ticket->SetStatus($status); + push @results, loc( "Ticket [_1]: [_2]", $id, $msg ); + + } + } + +} + +my $Tickets = RT::Tickets->new($session{'CurrentUser'}); +$Tickets->LimitOwner(VALUE => $session{'CurrentUser'}->Id); +$Tickets->LimitStatus( VALUE => 'open' ); +$Tickets->LimitStatus ( VALUE => 'new'); +$Tickets->OrderBy ( FIELD => 'Priority', ORDER => 'DESC'); + + + diff --git a/rt/share/html/Tools/Offline.html b/rt/share/html/Tools/Offline.html new file mode 100644 index 000000000..8bd510517 --- /dev/null +++ b/rt/share/html/Tools/Offline.html @@ -0,0 +1,168 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc("Offline upload") &> +<& Elements/Tabs, + current_tab => "Tools/Offline.html", + Title => loc("Offline edits") &> + +<& /Elements/ListActions, actions => \@results &> + +% $m->callback( Requestor => \$requestoraddress, Queue => \$qname, %ARGS ); + +
+ + + + + + + + + + + + + + + +
+<&|/l&>Default Queue: + +<& /Elements/SelectQueue, Name => "qname", NamedValues => 1 &> +<&|/l&>If no queue is specified, create tickets in this queue. +
+<&|/l&>Default Requestor: + + +<&|/l&>If no Requestor is specified, create tickets with this requestor. +
+<&|/l&>Template: + + +
+<&|/l&>Get template from file: + + + +
+<& /Elements/Submit, Name => 'UpdateTickets', Label => loc('Upload'), Caption => loc("Upload your changes"), color => "#993333" &> + +
+<%args> +$requestoraddress => '' +$qname => undef +$string => undef + +<%INIT> + +my @results; +use RT::Action::CreateTickets; +my $action = RT::Action::CreateTickets->new(CurrentUser => $session{'CurrentUser'}); +; +if ($ARGS{'Parse'} && $ARGS{'Template'}) { + $string = ""; + my $cgi_object = $m->cgi_object; + my $fh = $cgi_object->upload('Template'); + my $filename = "$fh"; + + my ($buffer, $template); + while ( my $bytesread = read( $fh, $buffer, 4096 ) ) { + $template .= $buffer; + } + my $encode = RT::I18N::_GuessCharset( $template ); + require Encode; + $template = Encode::decode( $encode, $template ); + $template =~ s/\r\n/\n/gs; + $action->Parse(Content => $template, Queue => $qname, Requestor => $requestoraddress); + foreach ( @{ $action->{'create_tickets'} } ) { + my $id = $_; + $id =~ s/^create\-//; + $string .= "===Create-Ticket: $id\n"; + $string .= $action->{'templates'}->{$_} . "\n"; + } + foreach ( @{ $action->{'update_tickets'} } ) { + my $id = $_; + $id =~ s/^update\-//; + $string .= "===Update-Ticket: $id\n"; + $string .= $action->{'templates'}->{$_} . "\n"; + } + + +} elsif ($ARGS{'UpdateTickets'}) { + $action->Parse(Content => $ARGS{string}, Queue => $qname, Requestor=> $requestoraddress); + push @results, $action->CreateByTemplate(); + push @results, $action->UpdateByTemplate(); +} else { + if ($ARGS{'Query'}) { + my $Tickets = RT::Tickets->new($session{'CurrentUser'}); + $Tickets->FromSQL($ARGS{'Query'}); + + while (my $t = $Tickets->Next) { + $string .= "===Update-Ticket: " . $t->Id . "\n"; + $string .= $action->GetUpdateTemplate($t); + $string .= "" . "\n"; + } + + $string .= "" . "\n"; + $string .= "===# DO NOT EDIT BELOW THIS LINE#===\n"; + $string .= "" . "\n"; + + while (my $t = $Tickets->Next) { + $string .= "===# DO NOT EDIT #===\n"; + $string .= "===Base-Ticket: " . $t->Id . "\n"; + $string .= $action->GetBaseTemplate($t); + $string .= "===# DO NOT EDIT #===\n"; + $string .= "" . "\n"; + } + } else { + $string .= "===Create-Ticket: ticket1\n"; + $string .= $action->GetCreateTemplate(); + } +} + diff --git a/rt/share/html/Tools/Reports/CreatedByDates.html b/rt/share/html/Tools/Reports/CreatedByDates.html new file mode 100644 index 000000000..9ca69557e --- /dev/null +++ b/rt/share/html/Tools/Reports/CreatedByDates.html @@ -0,0 +1,94 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<%args> +$Queue => undef +$CreatedBefore => undef +$CreatedAfter => undef + +<%init> +my $title = loc("Created tickets in period, grouped by status"); +my $q = RT::Queue->new($session{'CurrentUser'}); +my $before = RT::Date->new($session{'CurrentUser'}); +my $after = RT::Date->new($session{'CurrentUser'}); +my $query = 'Status != "deleted" '; + + +if ($CreatedAfter) { + $after->Set(Format => 'unknown', Value => $CreatedAfter); + $CreatedAfter = $after->AsString; +} +if ($CreatedBefore) { + $before->Set(Format => 'unknown', Value => $CreatedBefore); + $CreatedBefore = $before->AsString; +} + + +$q->LoadByCols(Name => $Queue); + +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/CreatedByDates.html', Title => $title &> +
+% if ($Queue|| $CreatedBefore ||$CreatedAfter) { +% # if we have a queue, do the search +% if ($Queue) { $query .= " AND Queue = '$Queue'"} +% if ($CreatedBefore) { $query .= " AND Created < '".$before->ISO."'"; } +% if ($CreatedAfter) { $query .= " AND Created > '".$after->ISO."'"} +% my $groupby = 'Status'; +<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &> +% } + +
+ +
<&|/l&>Queue: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +
<&|/l&>Tickets created after: +<& /Elements/SelectDate, Name => 'CreatedAfter', Default => ($CreatedAfter) ? $after->ISO : ''&> +
<&|/l&>Tickets created before: +<& /Elements/SelectDate, Name => 'CreatedBefore', Default => ($CreatedBefore) ? $before->ISO : ''&> + +<& /Elements/Submit&> +
diff --git a/rt/share/html/Tools/Reports/Elements/Tabs b/rt/share/html/Tools/Reports/Elements/Tabs new file mode 100644 index 000000000..c5faaac11 --- /dev/null +++ b/rt/share/html/Tools/Reports/Elements/Tabs @@ -0,0 +1,89 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Tools/Elements/Tabs, + subtabs => $tabs, + current_tab => 'Tools/Reports/index.html', + current_subtab => $current_tab, + Title => $Title &> + +<%INIT> +my $tabs = { + a => { + title => loc('Resolved by owner'), + path => 'Tools/Reports/ResolvedByOwner.html', + }, + b => { + title => loc('Resolved in date range'), + path => 'Tools/Reports/ResolvedByDates.html', + }, + c => { + title => loc('Created in a date range'), + path => 'Tools/Reports/CreatedByDates.html', + }, +}; + + + + +$m->callback( %ARGS, tabs => $tabs ); + +foreach my $tab ( sort keys %{$tabs} ) { + if ( $tabs->{$tab}->{'path'} eq $current_tab ) { + $tabs->{$tab}->{"subtabs"} = $subtabs; + $tabs->{$tab}->{"current_subtab"} = $current_subtab; + } +} + + + +<%ARGS> +$subtabs => undef +$current_tab => '' +$current_subtab => undef +$Title => undef + diff --git a/rt/share/html/Tools/Reports/ResolvedByDates.html b/rt/share/html/Tools/Reports/ResolvedByDates.html new file mode 100644 index 000000000..455eaedd2 --- /dev/null +++ b/rt/share/html/Tools/Reports/ResolvedByDates.html @@ -0,0 +1,95 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<%args> +$Queue => undef +$ResolvedBefore => undef +$ResolvedAfter => undef + +<%init> +my $title = loc("Resolved tickets in period, grouped by owner"); +my $q = RT::Queue->new($session{'CurrentUser'}); +my $before = RT::Date->new($session{'CurrentUser'}); +my $after = RT::Date->new($session{'CurrentUser'}); +my $query = ''; + + +if ($ResolvedAfter) { + $after->Set(Format => 'unknown', Value => $ResolvedAfter); + $ResolvedAfter = $after->AsString; +} +if ($ResolvedBefore) { + $before->Set(Format => 'unknown', Value => $ResolvedBefore); + $ResolvedBefore = $before->AsString; +} + + +$q->LoadByCols(Name => $Queue); + +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/ResolvedByDates.html', Title => $title &> +
+% if ($Queue|| $ResolvedBefore ||$ResolvedAfter) { +% # if we have a queue, do the search +% $query = "Status = 'resolved'"; +% if ($Queue) { $query .= " AND Queue = '$Queue'"} +% if ($ResolvedBefore) { $query .= " AND Resolved < '".$before->ISO."'"; } +% if ($ResolvedAfter) { $query .= " AND Resolved > '".$after->ISO."'"} +% my $groupby = 'Owner'; +<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &> +% } + +
+ +
<&|/l&>Queue: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +
<&|/l&>Tickets resolved after: +<& /Elements/SelectDate, Name => 'ResolvedAfter', Default => ($ResolvedAfter) ? $after->ISO : ''&> +
<&|/l&>Tickets resolved before: +<& /Elements/SelectDate, Name => 'ResolvedBefore', Default => ($ResolvedBefore) ? $before->ISO : ''&> + +<& /Elements/Submit&> +
diff --git a/rt/share/html/Tools/Reports/ResolvedByOwner.html b/rt/share/html/Tools/Reports/ResolvedByOwner.html new file mode 100644 index 000000000..00005340d --- /dev/null +++ b/rt/share/html/Tools/Reports/ResolvedByOwner.html @@ -0,0 +1,70 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<%args> +$Queue => undef + +<%init> +my $title = loc("Resolved tickets, grouped by owner"); +my $q = RT::Queue->new($session{'CurrentUser'}); +$q->LoadByCols(Name => $Queue); + +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => '/Tools/Reports/ResolvedByOwner.html', Title => $title &> +
+% if ($Queue) { +% # if we have a queue, do the search +% my $query = "Status = 'resolved' AND Queue = '$Queue'"; +% my $groupby = 'Owner'; +<& /Search/Elements/Chart, Query => $query, PrimaryGroupBy => $groupby &> +% } + +
+ +<&|/l&>Queue: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +<& /Elements/Submit&> +
diff --git a/rt/share/html/Tools/Reports/index.html b/rt/share/html/Tools/Reports/index.html new file mode 100644 index 000000000..d534fad6e --- /dev/null +++ b/rt/share/html/Tools/Reports/index.html @@ -0,0 +1,76 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc('Reports') &> +<& /Tools/Reports/Elements/Tabs, Title => loc('Reports') &> +<& /Elements/ListMenu, items => $tabs &> + +% $m->callback; + +<%init> + +my $tabs = { + A => { + title => loc('Resolved by owner'), + path => '/Tools/Reports/ResolvedByOwner.html', + description => loc('Examine tickets resolved in a queue, grouped by owner'), + }, + B => { + title => loc('Resolved in date range'), + path => '/Tools/Reports/ResolvedByDates.html', + description => loc('Examine tickets resolved in a queue between two dates'), + }, + C => { + title => loc('Created in a date range'), + path => '/Tools/Reports/CreatedByDates.html', + description => loc('Examine tickets created in a queue between two dates'), + }, +}; + +$m->callback( CallbackName => 'ListReports', %ARGS, tabs => $tabs ); + + diff --git a/rt/share/html/Tools/index.html b/rt/share/html/Tools/index.html new file mode 100644 index 000000000..8e5e02b9b --- /dev/null +++ b/rt/share/html/Tools/index.html @@ -0,0 +1,81 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<& /Elements/Header, Title => loc("Tools") &> +<& Elements/Tabs, + current_tab => "Tools/index.html", + Title => loc("Tools") &> +<& /Elements/ListMenu, items => $tabs &> + +<%init> + +my $tabs = { + A => { + title => loc('Dashboards'), + path => '/Dashboards/index.html', + description => loc('Named, shared collection of portlets'), + }, + B => { + title => loc('Offline'), + path => '/Tools/Offline.html', + description => loc('Create tickets offline'), + }, + C => { + title => loc('Reports'), + path => '/Tools/Reports/index.html', + description => loc('Various RT reports'), + }, + D => { + title => loc('My Day'), + path => '/Tools/MyDay.html', + description => loc('Easy updating of your open tickets'), + }, +}; + +$m->callback( %ARGS, tabs => $tabs ); + + -- cgit v1.2.1