diff options
Diffstat (limited to 'report.cgi')
-rwxr-xr-x | report.cgi | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/report.cgi b/report.cgi index 1ec3ac864..cc43e66e4 100755 --- a/report.cgi +++ b/report.cgi @@ -84,10 +84,12 @@ if (defined($height)) { $height <= 2000 || ThrowUserError("chart_too_large"); } +my $formatparam = $cgi->param('format') || ''; + # These shenanigans are necessary to make sure that both vertical and # horizontal 1D tables convert to the correct dimension when you ask to # display them as some sort of chart. -if (defined $cgi->param('format') && $cgi->param('format') eq "table") { +if ($formatparam eq "table") { if ($col_field && !$row_field) { # 1D *tables* should be displayed vertically (with a row_field only) $row_field = $col_field; @@ -210,7 +212,7 @@ $vars->{'row_names'} = \@row_names; $vars->{'tbl_names'} = \@tbl_names; # Below a certain width, we don't see any bars, so there needs to be a minimum. -if ($width && $cgi->param('format') eq "bar") { +if ($width && $formatparam eq "bar") { my $min_width = (scalar(@col_names) || 1) * 20; if (!$cgi->param('cumulate')) { @@ -226,8 +228,6 @@ $vars->{'height'} = $height if $height; $vars->{'query'} = $query; $vars->{'debug'} = $cgi->param('debug'); -my $formatparam = $cgi->param('format'); - if ($action eq "wrap") { # So which template are we using? If action is "wrap", we will be using # no format (it gets passed through to be the format of the actual data), @@ -236,7 +236,6 @@ if ($action eq "wrap") { # data, or images generated by calling report.cgi again with action as # "plot". $formatparam =~ s/[^a-zA-Z\-]//g; - trick_taint($formatparam); $vars->{'format'} = $formatparam; $formatparam = ''; @@ -305,6 +304,10 @@ $template->process("$format->{'template'}", $vars) sub get_names { my ($names, $isnumeric, $field_name) = @_; my ($field, @sorted); + # XXX - This is a hack to handle the actual_time/work_time field, + # because it's named 'actual_time' in Search.pm but 'work_time' in Field.pm. + $_[2] = $field_name = 'work_time' if $field_name eq 'actual_time'; + # _realname fields aren't real Bugzilla::Field objects, but they are a # valid axis, so we don't vailidate them as Bugzilla::Field objects. $field = Bugzilla::Field->check($field_name) |