diff options
| -rwxr-xr-x | httemplate/view/cust_bill-pdf.cgi | 7 | ||||
| -rwxr-xr-x | httemplate/view/cust_bill-ps.cgi | 7 | ||||
| -rwxr-xr-x | httemplate/view/cust_bill.cgi | 23 | 
3 files changed, 27 insertions, 10 deletions
diff --git a/httemplate/view/cust_bill-pdf.cgi b/httemplate/view/cust_bill-pdf.cgi index 2a86c3246..1ef25d9e9 100755 --- a/httemplate/view/cust_bill-pdf.cgi +++ b/httemplate/view/cust_bill-pdf.cgi @@ -2,13 +2,14 @@  #untaint invnum  my($query) = $cgi->keywords; -$query =~ /^(\d+)(.pdf)?$/; -my $invnum = $1; +$query =~ /^((.+)-)?(\d+)(.pdf)?$/; +my $templatename = $1; +my $invnum = $3;  my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});  die "Invoice #$invnum not found!" unless $cust_bill; -my $pdf = $cust_bill->print_pdf; +my $pdf = $cust_bill->print_pdf( '', $templatename);  http_header('Content-Type' => 'application/pdf' );  http_header('Content-Length' => length($pdf) ); diff --git a/httemplate/view/cust_bill-ps.cgi b/httemplate/view/cust_bill-ps.cgi index 03340a16f..bbf63ced9 100755 --- a/httemplate/view/cust_bill-ps.cgi +++ b/httemplate/view/cust_bill-ps.cgi @@ -2,12 +2,13 @@  #untaint invnum  my($query) = $cgi->keywords; -$query =~ /^(\d+)$/; -my $invnum = $1; +$query =~ /^((.+)-)?(\d+)$/; +my $templatename = $1; +my $invnum = $3;  my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});  die "Invoice #$invnum not found!" unless $cust_bill;  http_header('Content-Type' => 'application/postscript' );  %> -<%= $cust_bill->print_ps %> +<%= $cust_bill->print_ps( '', $templatename) %> diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi index 7906af65b..3c23d60a8 100755 --- a/httemplate/view/cust_bill.cgi +++ b/httemplate/view/cust_bill.cgi @@ -3,8 +3,9 @@  #untaint invnum  my($query) = $cgi->keywords; -$query =~ /^(\d+)$/; -my $invnum = $1; +$query =~ /^((.+)-)?(\d+)$/; +my $templatename = $1; +my $invnum = $3;  my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});  die "Invoice #$invnum not found!" unless $cust_bill; @@ -43,13 +44,27 @@ foreach my $cust_bill_event (  ) {    my $status = $cust_bill_event->status;    $status .= ': '. $cust_bill_event->statustext if $cust_bill_event->statustext; -  print '<TR><TD>'. $cust_bill_event->part_bill_event->event. '</TD><TD>'. +  my $part_bill_event = $cust_bill_event->part_bill_event; +  print '<TR><TD>'. $part_bill_event->event; + +  if ( +    $part_bill_event->plan eq 'send_alternate' +    && $part_bill_event->plandata =~ /^templatename (.*)$/m +  ) { +    my $templatename = $1; +    print qq! ( <A HREF="${p}view/cust_bill.cgi?$templatename-$invnum">!. +          'view text</A> | '. +          qq!<A HREF="${p}view/cust_bill-pdf.cgi?$templatename-$invnum.pdf">!. +          'view typeset</A> )'; +  } + +  print '</TD><TD>'.          time2str("%a %b %e %T %Y", $cust_bill_event->_date). '</TD><TD>'.          $status. '</TD></TR>';  }  print '</TABLE><BR><PRE>'; -print $cust_bill->print_text; +print $cust_bill->print_text('', $templatename);  	#formatting  	print <<END;  | 
