summaryrefslogtreecommitdiffstats
path: root/buglist.cgi
diff options
context:
space:
mode:
authorGervase Markham <gerv@gerv.net>2013-01-02 18:09:36 +0100
committerGervase Markham <gerv@mozilla.org>2013-01-02 18:09:36 +0100
commit21b50cba4e08e723f8c2d8e8b5800d0a13e2c180 (patch)
tree504bae35d3f49fbbc951567fe07068294a949393 /buglist.cgi
parentdb29480b097468be60ff0ffbc4344166443ae525 (diff)
downloadbugzilla-21b50cba4e08e723f8c2d8e8b5800d0a13e2c180.tar.gz
bugzilla-21b50cba4e08e723f8c2d8e8b5800d0a13e2c180.tar.xz
Bug 413851 - add CSV output option to request lists. r=LpSolit.
Diffstat (limited to 'buglist.cgi')
-rwxr-xr-xbuglist.cgi31
1 files changed, 11 insertions, 20 deletions
diff --git a/buglist.cgi b/buglist.cgi
index a59f0ee18..8a436a0a2 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -281,18 +281,17 @@ sub GetGroups {
}
sub _close_standby_message {
- my ($contenttype, $disposition, $serverpush) = @_;
+ my ($contenttype, $disp, $disp_prefix, $extension, $serverpush) = @_;
my $cgi = Bugzilla->cgi;
-
+ $cgi->set_dated_content_disp($disp, $disp_prefix, $extension);
+
# Close the "please wait" page, then open the buglist page
if ($serverpush) {
print $cgi->multipart_end();
- print $cgi->multipart_start(-type => $contenttype,
- -content_disposition => $disposition);
+ print $cgi->multipart_start(-type => $contenttype);
}
else {
- print $cgi->header(-type => $contenttype,
- -content_disposition => $disposition);
+ print $cgi->header($contenttype);
}
}
@@ -324,17 +323,10 @@ $params ||= new Bugzilla::CGI($cgi);
# if available. We have to do this now, even though we return HTTP headers
# at the end, because the fact that there is a remembered query gets
# forgotten in the process of retrieving it.
-my @time = localtime(time());
-my $date = sprintf "%04d-%02d-%02d", 1900+$time[5],$time[4]+1,$time[3];
-my $filename = "bugs-$date.$format->{extension}";
+my $disp_prefix = "bugs";
if ($cmdtype eq "dorem" && $remaction =~ /^run/) {
- $filename = $cgi->param('namedcmd') . "-$date.$format->{extension}";
- # Remove white-space from the filename so the user cannot tamper
- # with the HTTP headers.
- $filename =~ s/\s/_/g;
+ $disp_prefix = $cgi->param('namedcmd');
}
-$filename =~ s/\\/\\\\/g; # escape backslashes
-$filename =~ s/"/\\"/g; # escape quotes
# Take appropriate action based on user's request.
if ($cmdtype eq "dorem") {
@@ -935,7 +927,8 @@ if ($one_product && $user->can_enter_product($one_product)) {
# The following variables are used when the user is making changes to multiple bugs.
if ($dotweak && scalar @bugs) {
if (!$vars->{'caneditbugs'}) {
- _close_standby_message('text/html', 'inline', $serverpush);
+ _close_standby_message('text/html',
+ 'inline', "error", "html", $serverpush);
ThrowUserError('auth_failure', {group => 'editbugs',
action => 'modify',
object => 'multiple_bugs'});
@@ -1042,10 +1035,8 @@ if ($format->{'extension'} eq "csv") {
$vars->{'human'} = $cgi->param('human');
}
-# Suggest a name for the bug list if the user wants to save it as a file.
-$disposition .= "; filename=\"$filename\"";
-
-_close_standby_message($contenttype, $disposition, $serverpush);
+_close_standby_message($contenttype, $disposition, $disp_prefix,
+ $format->{'extension'}, $serverpush);
################################################################################
# Content Generation