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();
$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(
# 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)
[% 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 %]
[% 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>
<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>
[% 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>
[% 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 %]
[% 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') %]
[% 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 %]