git-svn-id: svn://10.0.0.236/trunk@265876 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzrmirror%bugzilla.org 2015-03-15 15:30:16 +00:00
parent 201c0f427c
commit ae570c7e2a
4 changed files with 55 additions and 57 deletions

View File

@ -1 +1 @@
689 690

View File

@ -1 +1 @@
e691a21f71d58697c31c8d419a0be8c871314cc9 4fb142b0cf2d0dda56b137ad4286431e52434004

View File

@ -1,7 +1,7 @@
<?php <?php
// by Edd Dumbill (C) 1999-2002 // by Edd Dumbill (C) 1999-2002
// <edd@usefulinc.com> // <edd@usefulinc.com>
// $Id: .xmlrpc.inc.php,v 1.52 2015-03-15 15:15:20 bzrmirror%bugzilla.org Exp $ // $Id: .xmlrpc.inc.php,v 1.53 2015-03-15 15:30:16 bzrmirror%bugzilla.org Exp $
// Copyright (c) 1999,2000,2002 Edd Dumbill. // Copyright (c) 1999,2000,2002 Edd Dumbill.
// All rights reserved. // All rights reserved.

View File

@ -6,6 +6,7 @@
# defined by the Mozilla Public License, v. 2.0. # defined by the Mozilla Public License, v. 2.0.
package Bugzilla::Extension::Testopia::Reports::CaseRun; package Bugzilla::Extension::Testopia::Reports::CaseRun;
use strict; use strict;
use warnings; use warnings;
@ -25,63 +26,60 @@ sub report {
my $type = $input->{'type'} || ''; my $type = $input->{'type'} || '';
if ($type eq 'status-breakdown') { return if $type eq 'status-breakdown';
$input->{'current_tab'} = 'case_run';
$input->{'viewall'} = 1;
my $report = Bugzilla::Extension::Testopia::Report->new('caserun', 'tr_list_caseruns.cgi', $cgi);
$vars->{'report'} = $report;
$vars->{'qname'} = $input->{'qname'};
### From Bugzilla report.cgi by Gervase Markham
my $formatparam = $input->{'format'};
my $report_action = $input->{'report_action'};
if ($report_action eq "data") {
# 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),
# and either report.csv.tmpl (CSV), or report.html.tmpl (everything else).
# report.html.tmpl produces an HTML framework for either tables of HTML
# 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 = '';
}
elsif ($report_action eq "plot") {
# If action is "plot", we will be using a format as normal (pie, bar etc.)
# and a ctype as normal (currently only png.)
$vars->{'cumulate'} = $input->{'cumulate'} ? 1 : 0;
$vars->{'x_labels_vertical'} = $input->{'x_labels_vertical'} ? 1 : 0;
$vars->{'data'} = $report->{'image_data'};
} }
else { else {
$input->{'current_tab'} = 'case_run'; ThrowUserError("unknown_action", {action => $input->{'report_action'}});
$input->{'viewall'} = 1;
my $report = Bugzilla::Extension::Testopia::Report->new('caserun', 'tr_list_caseruns.cgi', $cgi);
$vars->{'report'} = $report;
$vars->{'qname'} = $input->{'qname'};
### From Bugzilla report.cgi by Gervase Markham
my $formatparam = $input->{'format'};
my $report_action = $input->{'report_action'};
if ($report_action eq "data") {
# 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),
# and either report.csv.tmpl (CSV), or report.html.tmpl (everything else).
# report.html.tmpl produces an HTML framework for either tables of HTML
# 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 = '';
}
elsif ($report_action eq "plot") {
# If action is "plot", we will be using a format as normal (pie, bar etc.)
# and a ctype as normal (currently only png.)
$vars->{'cumulate'} = $input->{'cumulate'} ? 1 : 0;
$vars->{'x_labels_vertical'} = $input->{'x_labels_vertical'} ? 1 : 0;
$vars->{'data'} = $report->{'image_data'};
}
else {
ThrowUserError("unknown_action", {action => $input->{'report_action'}});
}
my $format = $template->get_format("testopia/reports/report", $formatparam,
scalar($input->{'ctype'}));
my @time = localtime(time());
my $date = sprintf "%04d-%02d-%02d", 1900+$time[5],$time[4]+1,$time[3];
my $filename = "report-" . $date . ".$format->{extension}";
my $disp = "inline";
# We set CSV files to be downloaded, as they are designed for importing
# into other programs.
if ($format->{'extension'} eq "csv" || $format->{'extension'} eq "xml") {
$disp = "attachment";
}
print $cgi->header( -type => $format->{'ctype'},
-content_disposition => "$disp; filename=$filename");
$vars->{'time'} = $date;
$template->process("$format->{'template'}", $vars)
or ThrowTemplateError($template->error());
exit;
} }
my $format = $template->get_format("testopia/reports/report", $formatparam,
scalar($input->{'ctype'}));
my @time = localtime(time());
my $date = sprintf "%04d-%02d-%02d", 1900+$time[5],$time[4]+1,$time[3];
my $filename = "report-" . $date . ".$format->{extension}";
my $disp = "inline";
# We set CSV files to be downloaded, as they are designed for importing
# into other programs.
if ($format->{'extension'} eq "csv" || $format->{'extension'} eq "xml") {
$disp = "attachment";
}
print $cgi->header(-type => $format->{'ctype'},
-content_disposition => "$disp; filename=$filename");
$vars->{'time'} = $date;
$template->process("$format->{'template'}", $vars)
or ThrowTemplateError($template->error());
} }
1; 1;