summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2004-10-05 13:35:41 +0000
committerivan <ivan>2004-10-05 13:35:41 +0000
commit97c0616b60819a23dbc6d7d6ebf2ff1dc3446e91 (patch)
tree185a1b69000193064ba3542ffaa622013a440072
parent0247c39288b477060509240ef23a5e7b6bfcd8f8 (diff)
links to show alternate invoices also
-rwxr-xr-xhttemplate/view/cust_bill-pdf.cgi7
-rwxr-xr-xhttemplate/view/cust_bill-ps.cgi7
-rwxr-xr-xhttemplate/view/cust_bill.cgi23
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;