1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
<% include("/elements/header.html",'Invoice View', menubar(
"View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum",
)) %>
% if ( $cust_bill->owed > 0
% && scalar( grep $payby{$_}, qw(BILL CASH WEST MCRD) )
% && $FS::CurrentUser::CurrentUser->access_right('Post payment')
% )
% {
% my $s = 0;
Post
% if ( $payby{'BILL'} ) {
<% $s++ ? ' | ' : '' %>
<A HREF="<% $p %>edit/cust_pay.cgi?payby=BILL;invnum=<% $invnum %>">check</A>
% }
% if ( $payby{'CASH'} ) {
<% $s++ ? ' | ' : '' %>
<A HREF="<% $p %>edit/cust_pay.cgi?payby=CASH;invnum=<% $invnum %>">cash</A>
% }
% if ( $payby{'WEST'} ) {
<% $s++ ? ' | ' : '' %>
<A HREF="<% $p %>edit/cust_pay.cgi?payby=WEST;invnum=<% $invnum %>">Western Union</A>
% }
% if ( $payby{'MCRD'} ) {
<% $s++ ? ' | ' : '' %>
<A HREF="<% $p %>edit/cust_pay.cgi?payby=MCRD;invnum=<% $invnum %>">manual credit card</A>
% }
payment against this invoice<BR><BR>
% }
% if ( $FS::CurrentUser::CurrentUser->access_right('Resend invoices') ) {
<A HREF="<% $p %>misc/print-invoice.cgi?<% $link %>">Re-print this invoice</A>
% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) {
| <A HREF="<% $p %>misc/email-invoice.cgi?<% $link %>">Re-email this invoice</A>
% }
% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) {
| <A HREF="<% $p %>misc/fax-invoice.cgi?<% $link %>">Re-fax this invoice</A>
% }
<BR><BR>
% }
% if ( $conf->exists('invoice_latex') ) {
<A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>.pdf">View typeset invoice</A>
<BR><BR>
% }
% my $br = 0;
% if ( $cust_bill->num_cust_event ) { $br++;
<A HREF="<%$p%>search/cust_event.html?invnum=<% $cust_bill->invnum %>">( View invoice events )</A>
% }
% if ( $cust_bill->num_cust_bill_event ) { $br++;
<A HREF="<%$p%>search/cust_bill_event.cgi?invnum=<% $cust_bill->invnum %>">( View deprecated, old-style invoice events )</A>
% }
<% $br ? '<BR><BR>' : '' %>
% if ( $conf->exists('invoice_html') ) {
<% join('', $cust_bill->print_html('', $templatename) ) %>
% } else {
<PRE><% join('', $cust_bill->print_text('', $templatename) ) %></PRE>
% }
<% include('/elements/footer.html') %>
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('View invoices');
#untaint invnum
my($query) = $cgi->keywords;
$query =~ /^((.+)-)?(\d+)$/;
my $templatename = $2;
my $invnum = $3;
my $conf = new FS::Conf;
my @payby = grep /\w/, $conf->config('payby');
#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
unless @payby;
my %payby = map { $_=>1 } @payby;
my $cust_bill = qsearchs({
'select' => 'cust_bill.*',
'table' => 'cust_bill',
'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
'hashref' => { 'invnum' => $invnum },
'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
});
die "Invoice #$invnum not found!" unless $cust_bill;
my $custnum = $cust_bill->custnum;
my $display_custnum = $cust_bill->cust_main->display_custnum;
#my $printed = $cust_bill->printed;
my $link = $templatename ? "$templatename-$invnum" : $invnum;
</%init>
|