Commit 8918a55e authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 344969: Remove hardcoded bug statuses from collectstats.pl and reports.cgi…

Bug 344969: Remove hardcoded bug statuses from collectstats.pl and reports.cgi (prepare them for custom statuses) - Patch by Fré©ric Buclin <LpSolit@gmail.com> r=gerv a=LpSolit
parent 49ac4e07
......@@ -72,19 +72,21 @@ my $datadir = bz_locations()->{'datadir'};
my @myproducts = map {$_->name} Bugzilla::Product->get_all;
unshift(@myproducts, "-All-");
# As we can now customize the list of resolutions, looking at the actual list
# of available resolutions only is not enough as some now removed resolutions
# As we can now customize statuses and resolutions, looking at the current list
# of legal values only is not enough as some now removed statuses and resolutions
# may have existed in the past, or have been renamed. We want them all.
my @resolutions = @{get_legal_field_values('resolution')};
my $old_resolutions =
$dbh->selectcol_arrayref('SELECT bugs_activity.added
my $fields = {};
foreach my $field ('bug_status', 'resolution') {
my $values = get_legal_field_values($field);
my $old_values = $dbh->selectcol_arrayref(
"SELECT bugs_activity.added
FROM bugs_activity
INNER JOIN fielddefs
ON fielddefs.id = bugs_activity.fieldid
LEFT JOIN resolution
ON resolution.value = bugs_activity.added
LEFT JOIN $field
ON $field.value = bugs_activity.added
WHERE fielddefs.name = ?
AND resolution.id IS NULL
AND $field.id IS NULL
UNION
......@@ -92,19 +94,21 @@ my $old_resolutions =
FROM bugs_activity
INNER JOIN fielddefs
ON fielddefs.id = bugs_activity.fieldid
LEFT JOIN resolution
ON resolution.value = bugs_activity.removed
LEFT JOIN $field
ON $field.value = bugs_activity.removed
WHERE fielddefs.name = ?
AND resolution.id IS NULL',
undef, ('resolution', 'resolution'));
AND $field.id IS NULL",
undef, ($field, $field));
push(@resolutions, @$old_resolutions);
push(@$values, @$old_values);
$fields->{$field} = $values;
}
my @statuses = @{$fields->{'bug_status'}};
my @resolutions = @{$fields->{'resolution'}};
# Exclude "" from the resolution list.
@resolutions = grep {$_} @resolutions;
# Actually, the list of statuses is predefined. This will change in the near future.
my @statuses = qw(NEW ASSIGNED REOPENED UNCONFIRMED RESOLVED VERIFIED CLOSED);
my $tstart = time;
foreach (@myproducts) {
my $dir = "$datadir/mining";
......
......@@ -75,7 +75,7 @@ if (! defined $cgi->param('product')) {
|| ThrowCodeError('chart_dir_nonexistent',
{dir => $dir, graph_dir => $graph_dir});
my %default_sel = map { $_ => 1 } qw/UNCONFIRMED NEW ASSIGNED REOPENED/;
my %default_sel = map { $_ => 1 } BUG_STATE_OPEN;
my @datasets;
my @data = get_data($dir);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment