<% #untaint invnum my($query) = $cgi->keywords; $query =~ /^((.+)-)?(\d+)$/; my $templatename = $2; my $invnum = $3; my $conf = new FS::Conf; my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); die "Invoice #$invnum not found!" unless $cust_bill; my $custnum = $cust_bill->getfield('custnum'); #my $printed = $cust_bill->printed; my $link = $templatename ? "$templatename-$invnum" : $invnum; %> <%= header('Invoice View', menubar( "Main Menu" => $p, "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", )) %> <% if ( $cust_bill->owed > 0 ) { %> Enter payments (check/cash) against this invoice | <% } %> Reprint this invoice <% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { %> | Re-email this invoice <% } %> <% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { %> | Re-fax this invoice <% } %>

<% if ( $conf->exists('invoice_latex') ) { %> View typeset invoice

<% } %> <% #false laziness with search/cust_bill_event.cgi unless ( $templatename ) { %> <%= table() %> Event Date Status <% foreach my $cust_bill_event ( sort { $a->_date <=> $b->_date } $cust_bill->cust_bill_event ) { my $status = $cust_bill_event->status; $status .= ': '. encode_entities($cust_bill_event->statustext) if $cust_bill_event->statustext; my $part_bill_event = $cust_bill_event->part_bill_event; %> <%= $part_bill_event->event %> <% if ( $part_bill_event->plan eq 'send_alternate' && $part_bill_event->plandata =~ /^(agent_)?templatename (.*)$/m ) { my $alt_templatename = $2; my $alt_link = "$alt_templatename-$invnum"; %> ( view | view typeset | re-print <% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { %> | re-email <% } %> <% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { %> | re-fax <% } %> ) <% } %> <%= time2str("%a %b %e %T %Y", $cust_bill_event->_date) %> <%= $status %> <% } %>
<% } %> <% if ( $conf->exists('invoice_html') ) { %> <%= $cust_bill->print_html('', $templatename) %> <% } else { %>
<%= $cust_bill->print_text('', $templatename) %>
<% } %>