summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xreport.cgi24
-rw-r--r--template/en/default/reports/report-table.html.tmpl13
-rw-r--r--template/en/default/search/form.html.tmpl3
-rw-r--r--template/en/default/search/search-advanced.html.tmpl2
-rw-r--r--template/en/default/search/search-report-select.html.tmpl10
-rw-r--r--template/en/default/search/search.html.tmpl2
6 files changed, 37 insertions, 17 deletions
diff --git a/report.cgi b/report.cgi
index 5680ec466..c532d523d 100755
--- a/report.cgi
+++ b/report.cgi
@@ -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)
diff --git a/template/en/default/reports/report-table.html.tmpl b/template/en/default/reports/report-table.html.tmpl
index 5074484c3..e984dc6ae 100644
--- a/template/en/default/reports/report-table.html.tmpl
+++ b/template/en/default/reports/report-table.html.tmpl
@@ -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 %]
+ [% "&amp;$tbl_vals" IF tbl_vals %][% END %]
[% ELSE %]
[% urlbase = BLOCK %]buglist.cgi?[% buglistbase %]&amp;
[% tbl_field FILTER url_quote %]=[% tbl FILTER url_quote %][% END %]
@@ -120,7 +121,8 @@
[% END %]
<td class="ttotal" align="right">
<a href="[% urlbase %]&amp;
- [% row_field FILTER url_quote %]=[% row FILTER url_quote %]">
+ [% row_field FILTER url_quote %]=[% row FILTER url_quote %]
+ [% "&amp;$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 %]&amp;
- [% col_field FILTER url_quote %]=[% col FILTER url_quote %]">
+ [% col_field FILTER url_quote %]=[% col FILTER url_quote %]
+ [% "&amp;$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 %]
+ [% "&amp;$row_vals" IF row_vals %]
+ [% "&amp;$col_vals" IF col_vals %]">[% grand_total %]</a>
</strong>
</td>
</tr>
diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl
index a24772c31..2f95748ed 100644
--- a/template/en/default/search/form.html.tmpl
+++ b/template/en/default/search/form.html.tmpl
@@ -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>
diff --git a/template/en/default/search/search-advanced.html.tmpl b/template/en/default/search/search-advanced.html.tmpl
index d1614ae3a..4dd197218 100644
--- a/template/en/default/search/search-advanced.html.tmpl
+++ b/template/en/default/search/search-advanced.html.tmpl
@@ -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 %]
diff --git a/template/en/default/search/search-report-select.html.tmpl b/template/en/default/search/search-report-select.html.tmpl
index 75716eac7..9af620d34 100644
--- a/template/en/default/search/search-report-select.html.tmpl
+++ b/template/en/default/search/search-report-select.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="">&lt;none&gt;</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') %]
diff --git a/template/en/default/search/search.html.tmpl b/template/en/default/search/search.html.tmpl
index d1614ae3a..4dd197218 100644
--- a/template/en/default/search/search.html.tmpl
+++ b/template/en/default/search/search.html.tmpl
@@ -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 %]