% if ( $link eq 'popup' ) { <& /elements/header-popup.html, $title &> % } else { <& /elements/header-cust_main.html, view=>'payment_history', custnum=>$custnum &>

<% $title |h %>

% } <& /elements/init_calendar.html &> <& /elements/error.html &>
% my %date_args = ( % 'name' => '_date', % 'label' => emt('Date'), % 'value' => $_date, % 'format' => $date_format. ' %r', % 'colspan' => 2, % ); % if ( $FS::CurrentUser::CurrentUser->access_right('Backdate payment') ) { <& /elements/tr-input-date-field.html, \%date_args &> % } else { <& /elements/tr-fixed-date.html, \%date_args &> % } % if ( $conf->exists('part_pkg-term_discounts') ) { <& /elements/tr-select-discount_term.html, 'custnum' => $custnum, 'amount_id' => 'paid', &> % } % if ( $payby eq 'BILL' ) { % } % elsif ( $payby eq 'CASH' and $conf->exists('require_cash_deposit_info') ) { % } % if ( $link eq 'custnum' || $link eq 'popup' ) { % } elsif ( $link eq 'invnum' ) { % } % if ( $conf->exists('pkg-balances') ) { <& /elements/tr-select-cust_pkg-balances.html, 'custnum' => $custnum, 'cgi' => $cgi &> % } else { % }
<% mt('Amount') |h %> <% $money_char |h %> <% mt('by') |h %> <% mt(FS::payby->payname($payby)) |h %>
<% mt('Check #') |h %>
<% mt('Bank') |h %>
<% mt('Check #') |h %>
<% mt('Teller #') |h %>
<% mt('Depositor') |h %>
<% mt('Account #') |h %>
<% mt('Auto-apply to invoices') |h %> <% mt('Apply to') |h %> Invoice #<% $linknum %> only

% if ( $link eq 'popup' ) { % } else { <& /elements/footer-cust_main.html &> % } <%init> my $conf = new FS::Conf; my $money_char = $conf->config('money_char') || '$'; my $date_format = $conf->config('date_format') || '%m/%d/%Y'; my($link, $linknum, $paid, $payby, $payinfo, $_date); if ( $cgi->param('error') ) { $link = $cgi->param('link'); $linknum = $cgi->param('linknum'); $paid = $cgi->param('paid'); $payby = $cgi->param('payby'); $payinfo = $cgi->param('payinfo'); $_date = $cgi->param('_date') ? parse_datetime($cgi->param('_date')) : time; } elsif ( $cgi->param('custnum') =~ /^(\d+)$/ ) { $link = $cgi->param('popup') ? 'popup' : 'custnum'; $linknum = $1; $paid = ''; $payby = $cgi->param('payby') || 'BILL'; $payinfo = ''; $_date = time; } elsif ( $cgi->param('invnum') =~ /^(\d+)$/ ) { $link = 'invnum'; $linknum = $1; $paid = ''; $payby = $cgi->param('payby') || 'BILL'; $payinfo = ""; $_date = time; } else { die "illegal query ". $cgi->keywords; } my @rights = ('Post payment'); push @rights, 'Post check payment' if $payby eq 'BILL'; push @rights, 'Post cash payment' if $payby eq 'CASH'; die "access denied" unless $FS::CurrentUser::CurrentUser->access_right(\@rights); my $paybatch = "webui-$_date-$$-". rand() * 2**32; my $title = mt('Post '. FS::payby->payname($payby). ' payment'); $title .= mt(" against Invoice #[_1]",$linknum) if $link eq 'invnum'; my $custnum; if ( $link eq 'invnum' ) { my $cust_bill = qsearchs('cust_bill', { 'invnum' => $linknum } ) or die "unknown invnum $linknum"; $custnum = $cust_bill->custnum; } elsif ( $link eq 'custnum' || $link eq 'popup' ) { $custnum = $linknum; }