adding Content-Disposition with a filename and proper extension fixes invoice opening...
authorivan <ivan>
Mon, 15 Aug 2011 20:51:16 +0000 (20:51 +0000)
committerivan <ivan>
Mon, 15 Aug 2011 20:51:16 +0000 (20:51 +0000)
httemplate/view/cust_bill-pdf.cgi
httemplate/view/cust_bill-ps.cgi

index 323e502..2ac0d0a 100755 (executable)
@@ -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' );
 
index 5d9e034..cc8020a 100755 (executable)
@@ -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>