[Rt-commit] rt branch, 4.0/queue-summary, created. rt-4.0.0rc4-23-g7065397

Alex Vandiver alexmv at bestpractical.com
Wed Jan 26 19:00:26 EST 2011


The branch, 4.0/queue-summary has been created
        at  7065397bad7c3d9b9d963ec5899570d41a4070b6 (commit)

- Log -----------------------------------------------------------------
commit 7065397bad7c3d9b9d963ec5899570d41a4070b6
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Wed Jan 26 18:59:26 2011 -0500

    Unify code between QueueSummaryByStatus and QueueSummaryByLifecycle

diff --git a/share/html/Elements/QueueSummaryByStatus b/share/html/Elements/QueueSummaryByStatus
index af6fc66..1c01542 100644
--- a/share/html/Elements/QueueSummaryByStatus
+++ b/share/html/Elements/QueueSummaryByStatus
@@ -66,8 +66,8 @@ for my $queue (@queues) {
 </%PERL>
 <tr class="<% $i%2 ? 'oddline' : 'evenline'%>" >
 
-<td><a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $all_q |u,n %>"
-       title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
+<td>
+    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $all_q |u,n %>" title="<% $queue->{Description} %>"><% $queue->{Name} %></a>
 </td>
 
 <%perl>
@@ -75,7 +75,7 @@ for my $queue (@queues) {
    if ( $lifecycle->IsValid( $status ) ) {
 </%perl>
 <td align="right">
-    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $queue_cond ."Status = '$status'" |u,n %>"><% $data->{$queue->{id}}->{$status} || '-'%></a>
+    <a href="<% RT->Config->Get('WebPath') %>/Search/Results.html?Query=<% $queue_cond ."Status = '$status'" |u,n %>"><% $data->{$queue->{id}}->{$status } || '-' %></a>
 </td>
 %   } else {
 <td align="right">-</td>
@@ -85,39 +85,22 @@ for my $queue (@queues) {
 % }
 </table>
 <%INIT>
-my $data     = {};
-my $statuses = {};
 
-use RT::Report::Tickets;
-my $report = RT::Report::Tickets->new( RT->SystemUser );
-$report->SetupGroupings( Query => 'id > 0', GroupBy => [qw(Status Queue)] );
-
-while ( my $entry = $report->Next ) {
-    $data->{ $entry->__Value("Queue") }->{ $entry->__Value("Status") }
-        = $entry->__Value('id');
-    $statuses->{ $entry->__Value("Status") } = 1;
-}
-
-my @queues;
 my $Queues = RT::Queues->new( $session{'CurrentUser'} );
 $Queues->UnLimit();
- at queues = @{ $Queues->ItemsArrayRef };
-
-if ($queue_filter) {
-    @queues = grep { $queue_filter->($_) } @queues;
-}
+$m->callback( CallbackName => 'SQLFilter', Queues => $Queues );
 
+my @queues = grep $queue_filter->($_), @{ $Queues->ItemsArrayRef };
 $m->callback( CallbackName => 'Filter', Queues => \@queues );
 
 @queues = map {
     {  id          => $_->Id,
        Name        => $_->Name,
-       Description => $_->Description,
+       Description => $_->Description || '',
        Lifecycle   => $_->Lifecycle->Name,
     }
 } grep $_, @queues;
 
-
 my %lifecycle;
 
 for my $queue (@queues) {
@@ -127,13 +110,28 @@ for my $queue (@queues) {
 
 unless (@statuses) {
     my %seen;
-    foreach my $set ( 'Initial', 'Active' ) {
+    foreach my $set ( 'initial', 'active' ) {
         foreach my $lifecycle ( map $lifecycle{$_}, sort keys %lifecycle ) {
-            push @statuses, grep !$seen{ lc $_ }++, $lifecycle->$set();
+            push @statuses, grep !$seen{ lc $_ }++, $lifecycle->Valid($set);
         }
     }
 }
 
+my $data     = {};
+my $statuses = {};
+
+use RT::Report::Tickets;
+my $report = RT::Report::Tickets->new( RT->SystemUser );
+my $query = @queues
+    ? join(' OR ', map "Queue = ".$_->{id}, @queues)
+    : 'id < 0';
+$report->SetupGroupings( Query => $query, GroupBy => [qw(Status Queue)] );
+
+while ( my $entry = $report->Next ) {
+    $data->{ $entry->__Value("Queue") }->{ $entry->__Value("Status") }
+        = $entry->__Value('id');
+    $statuses->{ $entry->__Value("Status") } = 1;
+}
 </%INIT>
 <%ARGS>
 $queue_filter => undef

-----------------------------------------------------------------------


More information about the Rt-commit mailing list