diff options
Diffstat (limited to 'rt/share/html/Tools')
-rw-r--r-- | rt/share/html/Tools/Elements/Tabs | 90 | ||||
-rw-r--r-- | rt/share/html/Tools/MyDay.html | 114 | ||||
-rw-r--r-- | rt/share/html/Tools/Offline.html | 168 | ||||
-rw-r--r-- | rt/share/html/Tools/Reports/CreatedByDates.html | 94 | ||||
-rw-r--r-- | rt/share/html/Tools/Reports/Elements/Tabs | 89 | ||||
-rw-r--r-- | rt/share/html/Tools/Reports/ResolvedByDates.html | 95 | ||||
-rw-r--r-- | rt/share/html/Tools/Reports/ResolvedByOwner.html | 70 | ||||
-rw-r--r-- | rt/share/html/Tools/Reports/index.html | 76 | ||||
-rw-r--r-- | rt/share/html/Tools/index.html | 81 |
9 files changed, 877 insertions, 0 deletions
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 +%# <jesse@bestpractical.com> +%# +%# (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; + } +} +</%INIT> +<%ARGS> +$subtabs => undef +$current_tab => undef +$current_subtab => undef +$actions => undef +$Title => undef +</%ARGS> 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 +%# <jesse@bestpractical.com> +%# +%# (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 &> + +<h2><&|/l, $session{'CurrentUser'}->Name &>New and open tickets for [_1]</&></h2> +<form method="post" action="MyDay.html"> +<table width="100%" cellpadding="0" cellspacing="0" class="myday"> +% while ( my $Ticket = $Tickets->Next()) { +% $i++; +% my $class = $i % 2 ? 'class="evenline"' : 'class="oddline"'; +<tr <%$class|n%>><td colspan="2"><h2><a +href="<%RT->Config->Get('WebPath')%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$Ticket->Id%>: +<%$Ticket->Subject%></a></h2></td></tr> +<tr <%$class|n%>><td><span class="label"><&|/l&>Worked</&>:</span><input size="3" name="UpdateTimeWorked-<%$Ticket->Id%>" /> <&|/l&>minutes</&> +</td> +<td rowspan="2"><span class="label"><&|/l&>Comments</&>:<br /></span><textarea name="UpdateContent-<%$Ticket->Id%>" rows="5" +cols="60"></textarea></td></tr> +<tr <%$class|n%>> +<td><span class="label"><&|/l&>Status</&>:</span> <& /Elements/SelectStatus, Name=> 'UpdateStatus-'.$Ticket->Id, + DefaultLabel => loc("[_1] (Unchanged)",loc($Ticket->Status())) &></td> + </tr> + +% } +</table> +<& /Elements/Submit, Label => loc('Record all updates') , Reset => 1, ResetLabel => loc('Clear')&> +</form> +</html> +<%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'); + + +</%INIT> 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 +%# <jesse@bestpractical.com> +%# +%# (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 ); + +<form action="Offline.html" name="TicketUpdate" + method="post" enctype="multipart/form-data"> +<table> +<tr> +<td class="label"> +<&|/l&>Default Queue</&>: +</td> +<td> +<& /Elements/SelectQueue, Name => "qname", NamedValues => 1 &> +<em><&|/l&>If no queue is specified, create tickets in this queue.</&></em> +</td> +</tr> +<tr> +<td class="label"> +<&|/l&>Default Requestor</&>: +</td> +<td> +<input name="requestoraddress" value="<%$requestoraddress%>" /> +<em><&|/l&>If no Requestor is specified, create tickets with this requestor.</&></em> +</td> +</tr> +<tr><td class="labeltop"> +<&|/l&>Template</&>: +</td> +<td colspan="2"> +<textarea name="string" cols="80" rows="30"><% $string %></textarea> +</td> +</tr> +<tr><td class="label"> +<&|/l&>Get template from file</&>: +</td> +<td> +<input name="Template" type="file" /> +<input type="submit" class="button" name="Parse" value="<&|/l&>Go!</&>" /> +</td> +</tr> +</table> +<& /Elements/Submit, Name => 'UpdateTickets', Label => loc('Upload'), Caption => loc("Upload your changes"), color => "#993333" &> + +</form> +<%args> +$requestoraddress => '' +$qname => undef +$string => undef +</%args> +<%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(); + } +} +</%INIT> 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 +%# <jesse@bestpractical.com> +%# +%# (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 +</%args> +<%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); +</%init> +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/CreatedByDates.html', Title => $title &> +<form method="post" action="CreatedByDates.html"> +% 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 &> +% } + +<hr /> + +<br /><&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +<br /><&|/l&>Tickets created after</&>: +<& /Elements/SelectDate, Name => 'CreatedAfter', Default => ($CreatedAfter) ? $after->ISO : ''&> +<br /><&|/l&>Tickets created before</&>: +<& /Elements/SelectDate, Name => 'CreatedBefore', Default => ($CreatedBefore) ? $before->ISO : ''&> + +<& /Elements/Submit&> +</form> 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 +%# <jesse@bestpractical.com> +%# +%# (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; + } +} +</%INIT> + + +<%ARGS> +$subtabs => undef +$current_tab => '' +$current_subtab => undef +$Title => undef +</%ARGS> 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 +%# <jesse@bestpractical.com> +%# +%# (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 +</%args> +<%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); +</%init> +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => 'Tools/Reports/ResolvedByDates.html', Title => $title &> +<form method="post" action="ResolvedByDates.html"> +% 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 &> +% } + +<hr /> + +<br /><&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +<br /><&|/l&>Tickets resolved after</&>: +<& /Elements/SelectDate, Name => 'ResolvedAfter', Default => ($ResolvedAfter) ? $after->ISO : ''&> +<br /><&|/l&>Tickets resolved before</&>: +<& /Elements/SelectDate, Name => 'ResolvedBefore', Default => ($ResolvedBefore) ? $before->ISO : ''&> + +<& /Elements/Submit&> +</form> 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 +%# <jesse@bestpractical.com> +%# +%# (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 +</%args> +<%init> +my $title = loc("Resolved tickets, grouped by owner"); +my $q = RT::Queue->new($session{'CurrentUser'}); +$q->LoadByCols(Name => $Queue); +</%init> +<& /Elements/Header, Title => $title &> +<& /Tools/Reports/Elements/Tabs, current_tab => '/Tools/Reports/ResolvedByOwner.html', Title => $title &> +<form method="post" action="ResolvedByOwner.html"> +% 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 &> +% } + +<hr /> + +<&|/l&>Queue</&>: <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $q->id &> +<& /Elements/Submit&> +</form> 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 +%# <jesse@bestpractical.com> +%# +%# (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 ); + +</%init> 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 +%# <jesse@bestpractical.com> +%# +%# (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 ); + +</%init> |