diff options
-rwxr-xr-x | report.cgi | 24 | ||||
-rw-r--r-- | template/en/default/reports/report-table.html.tmpl | 13 | ||||
-rw-r--r-- | template/en/default/search/form.html.tmpl | 3 | ||||
-rw-r--r-- | template/en/default/search/search-advanced.html.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/search/search-report-select.html.tmpl | 10 | ||||
-rw-r--r-- | template/en/default/search/search.html.tmpl | 2 |
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 %] + [% "&$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> 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=""><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') %] 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 %] |