зеркало из https://github.com/mozilla/pjs.git
Bug 180205 - General reporting fixes. Fixes bug 180151 (Grand total links are messed up when axis is restricted), bug 180105 (CSV reports occasionally break), bug 179671 (Boolean charts are broken on reporting pages), bug 179887 (report.cgi should |require Data::Dumper|, not |use|), and works around bug 179581 (Keyword combinations report not very useful). Patch by gerv; r=bbaetz, a=justdave.
This commit is contained in:
Родитель
959f5bc929
Коммит
6099abf94f
|
@ -28,6 +28,14 @@ require "CGI.pl";
|
|||
|
||||
use vars qw($cgi $template $vars);
|
||||
|
||||
# Go straight back to query.cgi if we are adding a boolean chart.
|
||||
if (grep(/^cmd-/, $cgi->param())) {
|
||||
my $params = $cgi->canonicalise_query("format", "ctype");
|
||||
print "Location: query.cgi?format=" . $cgi->param('query_format') .
|
||||
($params ? "&$params" : "") . "\n\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
use Bugzilla::Search;
|
||||
|
||||
ConnectToDatabase();
|
||||
|
@ -216,10 +224,18 @@ if ($action eq "wrap") {
|
|||
$vars->{'format'} = $formatparam;
|
||||
$formatparam = '';
|
||||
|
||||
# We need to keep track of the defined restrictions on each of the
|
||||
# axes, because buglistbase, below, throws them away. Without this, we
|
||||
# get buglistlinks wrong if there is a restriction on an axis field.
|
||||
$vars->{'col_vals'} = join("&", $::buffer =~ /[&?]($col_field=[^&]+)/g);
|
||||
$vars->{'row_vals'} = join("&", $::buffer =~ /[&?]($row_field=[^&]+)/g);
|
||||
$vars->{'tbl_vals'} = join("&", $::buffer =~ /[&?]($tbl_field=[^&]+)/g);
|
||||
|
||||
# We need a number of different variants of the base URL for different
|
||||
# URLs in the HTML.
|
||||
$vars->{'buglistbase'} = $cgi->canonicalise_query(
|
||||
"x_axis_field", "y_axis_field", "z_axis_field", "format", @axis_fields);
|
||||
"x_axis_field", "y_axis_field", "z_axis_field",
|
||||
"ctype", "format", @axis_fields);
|
||||
$vars->{'imagebase'} = $cgi->canonicalise_query(
|
||||
$tbl_field, "action", "ctype", "format", "width", "height");
|
||||
$vars->{'switchbase'} = $cgi->canonicalise_query(
|
||||
|
@ -249,11 +265,11 @@ print "Content-Type: $format->{'ctype'}\n\n";
|
|||
# Problems with this CGI are often due to malformed data. Setting debug=1
|
||||
# prints out both data structures.
|
||||
if ($::FORM{'debug'}) {
|
||||
use Data::Dumper;
|
||||
require Data::Dumper;
|
||||
print "<pre>data hash:\n";
|
||||
print Dumper(%data) . "\n\n";
|
||||
print Data::Dumper::Dumper(%data) . "\n\n";
|
||||
print "data array:\n";
|
||||
print Dumper(@image_data) . "\n\n</pre>";
|
||||
print Data::Dumper::Dumper(@image_data) . "\n\n</pre>";
|
||||
}
|
||||
|
||||
$template->process("$format->{'template'}", $vars)
|
||||
|
|
|
@ -37,7 +37,8 @@
|
|||
[% row_field_disp = field_descs.$row_field || row_field %]
|
||||
|
||||
[% IF tbl == "-total-" %]
|
||||
[% urlbase = BLOCK %]buglist.cgi?[% buglistbase %][% END %]
|
||||
[% urlbase = BLOCK %]buglist.cgi?[% buglistbase %]
|
||||
[% "&$tbl_vals" IF tbl_vals %][% END %]
|
||||
[% ELSE %]
|
||||
[% urlbase = BLOCK %]buglist.cgi?[% buglistbase %]&
|
||||
[% tbl_field FILTER url_quote %]=[% tbl FILTER url_quote %][% END %]
|
||||
|
@ -120,7 +121,8 @@
|
|||
[% END %]
|
||||
<td class="ttotal" align="right">
|
||||
<a href="[% urlbase %]&
|
||||
[% row_field FILTER url_quote %]=[% row FILTER url_quote %]">
|
||||
[% row_field FILTER url_quote %]=[% row FILTER url_quote %]
|
||||
[% "&$col_vals" IF col_vals %]">
|
||||
[% row_total %]</a>
|
||||
[% grand_total = grand_total + row_total %]
|
||||
</td>
|
||||
|
@ -137,14 +139,17 @@
|
|||
|
||||
<td class="ttotal" align="center">
|
||||
<a href="[% urlbase %]&
|
||||
[% col_field FILTER url_quote %]=[% col FILTER url_quote %]">
|
||||
[% col_field FILTER url_quote %]=[% col FILTER url_quote %]
|
||||
[% "&$row_vals" IF row_vals %]">
|
||||
[% col_totals.$col %]</a>
|
||||
<strong>
|
||||
</td>
|
||||
[% END %]
|
||||
<td class="ttotal" align="right">
|
||||
<strong>
|
||||
<a href="buglist.cgi?[% urlbase %]">[% grand_total %]</a>
|
||||
<a href="[% urlbase %]
|
||||
[% "&$row_vals" IF row_vals %]
|
||||
[% "&$col_vals" IF col_vals %]">[% grand_total %]</a>
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -329,6 +329,9 @@ function selectProduct(f) {
|
|||
|
||||
[% PROCESS "global/field-descs.html.tmpl" %]
|
||||
|
||||
[%# If we resubmit to ourselves, we need to know if we are using a format. %]
|
||||
<input type="hidden" name="query_format" value="[% format %]">
|
||||
|
||||
[%# *** Summary *** %]
|
||||
|
||||
<table>
|
||||
|
|
|
@ -33,8 +33,6 @@
|
|||
[% button_name = "Search" %]
|
||||
|
||||
<form method="get" action="buglist.cgi" name="queryform">
|
||||
[%# If we resubmit to ourselves, we need to know if we are using a format. %]
|
||||
<input type="hidden" name="query_format" value="[% format %]">
|
||||
|
||||
[% PROCESS search/form.html.tmpl %]
|
||||
|
||||
|
|
|
@ -27,15 +27,15 @@
|
|||
[% PROCESS "global/field-descs.html.tmpl" %]
|
||||
|
||||
[% BLOCK select %]
|
||||
[% fields = ["product", "component", "version", "rep_platform",
|
||||
"op_sys", "bug_status", "resolution", "bug_severity",
|
||||
"priority", "target_milestone", "keywords", "assigned_to",
|
||||
"reporter", "qa_contact", "votes" ] %]
|
||||
[% rep_fields = ["product", "component", "version", "rep_platform",
|
||||
"op_sys", "bug_status", "resolution", "bug_severity",
|
||||
"priority", "target_milestone", "assigned_to",
|
||||
"reporter", "qa_contact", "votes" ] %]
|
||||
|
||||
<select name="[% name FILTER html %]">
|
||||
<option value=""><none></option>
|
||||
|
||||
[% FOREACH field = fields %]
|
||||
[% FOREACH field = rep_fields %]
|
||||
[% NEXT IF field == "target_milestone" AND !Param('usetargetmilestone') %]
|
||||
[% NEXT IF field == "qa_contact" AND !Param('useqacontact') %]
|
||||
[% NEXT IF field == "votes" AND !Param('usevotes') %]
|
||||
|
|
|
@ -33,8 +33,6 @@
|
|||
[% button_name = "Search" %]
|
||||
|
||||
<form method="get" action="buglist.cgi" name="queryform">
|
||||
[%# If we resubmit to ourselves, we need to know if we are using a format. %]
|
||||
<input type="hidden" name="query_format" value="[% format %]">
|
||||
|
||||
[% PROCESS search/form.html.tmpl %]
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче