From: doogie <>
Date: Thu, 18 Sep 2003 04:28:07 +0000 (-0800)
Subject: [project @ 2003-09-17 21:28:07 by doogie]
X-Git-Tag: release/2.6.0~792
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=be1eec3e50b94fe43906b2ac2d54db1ca6b34613;p=debbugs.git
[project @ 2003-09-17 21:28:07 by doogie]
Add in a Table of Contents to pkgreport.cgi.
---
diff --git a/cgi/common.pl b/cgi/common.pl
index 0b2a2c02..28162b1b 100644
--- a/cgi/common.pl
+++ b/cgi/common.pl
@@ -60,6 +60,10 @@ my %common_grouping_order = (
'pending' => [ qw( pending forwarded pending-fixed fixed done absent ) ],
'severity' => \@debbugs::gSeverityList,
);
+my %common_grouping_display = (
+ 'pending' => 'Status',
+ 'severity' => 'Severity',
+);
my %common_headers = (
'pending' => {
"pending" => "outstanding",
@@ -71,7 +75,7 @@ my %common_headers = (
},
'severity' => \%debbugs::gSeverityDisplay,
);
-
+
my $common_version;
my $common_dist;
my $common_arch;
@@ -468,6 +472,7 @@ sub htmlizebugs {
my $anydone = 0;
my @status = ();
+ my %count;
if (@bugs == 0) {
return "
No reports found!
\n";
@@ -487,7 +492,12 @@ sub htmlizebugs {
my $html = sprintf "#%d: %s\n
",
bugurl($bug), $bug, htmlsanit($status{subject});
$html .= htmlindexentrystatus(\%status) . "\n";
- $section{join( '_', map( {$status{$_}} @common_grouping ) )} .= $html;
+ my $key = join( '_', map( {$status{$_}} @common_grouping ) );
+ $section{$key} .= $html;
+ $count{"_$key"}++;
+ foreach my $grouping ( @common_grouping ) {
+ $count{"${grouping}_$status{$grouping}"}++;
+ }
$anydone = 1 if $status{pending} eq 'done';
push @status, [ $bug, \%status, $html ];
}
@@ -515,10 +525,34 @@ sub htmlizebugs {
push @headers, map( { $common_headers{$common_grouping[$i]}{$_} } @items );
}
}
+ $result .= "\n";
+ $result .= "\n";
+ for ( my $i = 0; $i < @order; $i++ ) {
+ my $order = $order[ $i ];
+ next unless defined $section{$order};
+ my $count = $count{"_$order"};
+ my $bugs = $count == 1 ? "bug" : "bugs";
+ $result .= "- $headers[$i] ($count $bugs)
\n";
+ }
+ $result .= " \n | \n\n\n";
+ foreach my $grouping ( @common_grouping ) {
+ my $local_result = '';
+ foreach my $key ( @{$common_grouping_order{ $grouping }} ) {
+ my $count = $count{"${grouping}_$key"};
+ next if !$count;
+ $local_result .= "- $count $common_headers{$grouping}{$key}
\n";
+ }
+ if ( $local_result ) {
+ $result .= "- $common_grouping_display{$grouping}
\n";
+ }
+ }
+ $result .= " \n |
";
for ( my $i = 0; $i < @order; $i++ ) {
my $order = $order[ $i ];
next unless defined $section{$order};
- $result .= "
$headers[$i]
\n";
+ my $count = $count{"_$order"};
+ my $bugs = $count == 1 ? "bug" : "bugs";
+ $result .= "
$headers[$i] ($count $bugs)
\n";
$result .= "\n";
$result .= $section{$order};
$result .= "
\n";
diff --git a/debian/changelog b/debian/changelog
index cf8cd388..936ec4bd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,7 @@ debbugs (2.4.2) UNRELEASED; urgency=low
- Rewrite grouping logic in cgi's common.pl, to make it completely
generic. There is now no longer 2 nested loops, to do the grouping.
This makes adding new grouping levels simpler for the future.
+ - Add in a Table of Contents to pkgreport.cgi.
-- Colin Watson Fri, 20 Jun 2003 18:57:25 +0100