one-time credit card and ACH payments (like self-service) closes: Bug#648
[freeside.git] / httemplate / view / cust_bill.cgi
1 <!-- mason kludge -->
2 <%
3
4 #untaint invnum
5 my($query) = $cgi->keywords;
6 $query =~ /^(\d+)$/;
7 my $invnum = $1;
8
9 my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
10 die "Invoice #$invnum not found!" unless $cust_bill;
11 my $custnum = $cust_bill->getfield('custnum');
12
13 #my $printed = $cust_bill->printed;
14
15 print header('Invoice View', menubar(
16   "Main Menu" => $p,
17   "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
18 ));
19
20 print qq!<A HREF="${p}edit/cust_pay.cgi?$invnum">Enter payments (check/cash) against this invoice</A> | !
21   if $cust_bill->owed > 0;
22
23 print qq!<A HREF="${p}misc/print-invoice.cgi?$invnum">Reprint this invoice</A>!;
24 if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) {
25   print qq! | <A HREF="${p}misc/email-invoice.cgi?$invnum">!.
26         qq!Re-email this invoice</A>!;
27 }
28
29 print '<BR><BR>';
30
31 my $conf = new FS::Conf;
32 if ( $conf->exists('invoice_latex') ) {
33   print menubar(
34     'View typeset invoice' => "${p}view/cust_bill-pdf.cgi?$invnum",
35   ), '<BR><BR>';
36 }
37
38 #false laziness with search/cust_bill_event.cgi
39
40 print table(). '<TR><TH>Event</TH><TH>Date</TH><TH>Status</TH></TR>';
41 foreach my $cust_bill_event (
42   sort { $a->_date <=> $b->_date } $cust_bill->cust_bill_event
43 ) {
44   my $status = $cust_bill_event->status;
45   $status .= ': '. $cust_bill_event->statustext if $cust_bill_event->statustext;
46   print '<TR><TD>'. $cust_bill_event->part_bill_event->event. '</TD><TD>'.
47         time2str("%a %b %e %T %Y", $cust_bill_event->_date). '</TD><TD>'.
48         $status. '</TD></TR>';
49 }
50 print '</TABLE><BR><PRE>';
51
52 print $cust_bill->print_text;
53
54         #formatting
55         print <<END;
56     </PRE></FONT>
57   </BODY>
58 </HTML>
59 END
60
61 %>