summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorivan <ivan>2011-08-15 20:51:15 +0000
committerivan <ivan>2011-08-15 20:51:15 +0000
commitfee2489219be414439be6cffac38b834005a41e6 (patch)
tree3738ff5b580cf9862b5fafae56576ab5d6770f16 /httemplate
parentd53fe51e0d705f5923a0be114653492160028ddc (diff)
adding Content-Disposition with a filename and proper extension fixes invoice opening on mac firefox, RT#14015
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/view/cust_bill-pdf.cgi5
-rwxr-xr-xhttemplate/view/cust_bill-ps.cgi5
2 files changed, 6 insertions, 4 deletions
diff --git a/httemplate/view/cust_bill-pdf.cgi b/httemplate/view/cust_bill-pdf.cgi
index 323e502b4..2ac0d0a3a 100755
--- a/httemplate/view/cust_bill-pdf.cgi
+++ b/httemplate/view/cust_bill-pdf.cgi
@@ -6,13 +6,13 @@ die "access denied"
my( $invnum, $template, $notice_name );
my($query) = $cgi->keywords;
-if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) {
+if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore?
$template = $2;
$invnum = $3;
$notice_name = 'Invoice';
} else {
$invnum = $cgi->param('invnum');
- $invnum =~ s/\.pdf//i;
+ $invnum =~ s/\.pdf//i; #probably not necessary anymore
$template = $cgi->param('template');
$notice_name = ( $cgi->param('notice_name') || 'Invoice' );
}
@@ -37,6 +37,7 @@ die "Invoice #$invnum not found!" unless $cust_bill;
my $pdf = $cust_bill->print_pdf(\%opt);
http_header('Content-Type' => 'application/pdf' );
+http_header('Content-Disposition' => "filename=$invnum.pdf" );
http_header('Content-Length' => length($pdf) );
http_header('Cache-control' => 'max-age=60' );
diff --git a/httemplate/view/cust_bill-ps.cgi b/httemplate/view/cust_bill-ps.cgi
index 5d9e034bb..cc8020a3e 100755
--- a/httemplate/view/cust_bill-ps.cgi
+++ b/httemplate/view/cust_bill-ps.cgi
@@ -6,7 +6,7 @@ die "access denied"
my( $invnum, $template, $notice_name );
my($query) = $cgi->keywords;
-if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) {
+if ( $query =~ /^((.+)-)?(\d+)(.pdf)?$/ ) { #probably not necessary anymore?
$template = $2;
$invnum = $3;
$notice_name = 'Invoice';
@@ -36,7 +36,8 @@ die "Invoice #$invnum not found!" unless $cust_bill;
my $ps = $cust_bill->print_ps(\%opt);
http_header('Content-Type' => 'application/postscript' );
-http_header('Content-Length' => length($pdf) );
+http_header('Content-Disposition' => "filename=$invnum.ps" );
+http_header('Content-Length' => length($ps) );
http_header('Cache-control' => 'max-age=60' );
</%init>