X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fprint-invoice.cgi;h=5eeef3482371d194252090f03d3d0b13e29a5971;hb=c28a4c33a88dfa354436f81a2e213638088adcf1;hp=a6cb05230f8c146bf1ffb5ed4fd8e61a0e81a761;hpb=3d671921441ba8422650b54435a1959ad1d4c71d;p=freeside.git diff --git a/httemplate/misc/print-invoice.cgi b/httemplate/misc/print-invoice.cgi index a6cb05230..5eeef3482 100755 --- a/httemplate/misc/print-invoice.cgi +++ b/httemplate/misc/print-invoice.cgi @@ -1,36 +1,30 @@ <% -# -use strict; -use vars qw($conf $cgi $lpr $query $invnum $cust_bill $custnum ); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::CGI qw(popurl); -use FS::Record qw(qsearchs); -use FS::cust_bill; - -$cgi = new CGI; -&cgisuidsetup($cgi); - -$conf = new FS::Conf; -$lpr = $conf->config('lpr'); +my $conf = new FS::Conf; +my $lpr = $conf->config('lpr'); #untaint invnum -($query) = $cgi->keywords; -$query =~ /^(\d*)$/; -$invnum = $1; -$cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); +my($query) = $cgi->keywords; +$query =~ /^((.+)-)?(\d+)$/; +my $template = $2; +my $invnum = $3; +my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); die "Can't find invoice!\n" unless $cust_bill; open(LPR,"|$lpr") or die "Can't open $lpr: $!"; - print LPR $cust_bill->print_text; #( date ) + + if ( $conf->exists('invoice_latex') ) { + print LPR $cust_bill->print_ps('', $template); #( date ) + } else { + print LPR $cust_bill->print_text('', $template); #( date ) + } + close LPR or die $! ? "Error closing $lpr: $!" : "Exit status $? from $lpr"; -$custnum = $cust_bill->getfield('custnum'); +my $custnum = $cust_bill->getfield('custnum'); -print $cgi->redirect(popurl(2). "view/cust_main.cgi?$custnum#history"); +print $cgi->redirect("${p}view/cust_main.cgi?$custnum"); %>