<% include('/elements/footer.html') %>
-% } else {
+% #2.5/2.7?# } elsif ( $curuser->access_right('View payments') ) {
+% } elsif ( $curuser->access_right(['View invoices', 'View payments']) ) {
<% $cgi->redirect(popurl(3). "view/cust_pay.html?paynum=$paynum" ) %>
+% } else {
+<% $cgi->redirect(popurl(3). "view/cust_main.html?custnum=$custnum" ) %>
% }
<%init>
-die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('Process payment');
+my $curuser = $FS::CurrentUser::CurrentUser;
+die "access denied" unless $curuser->access_right('Process payment');
+
+my $conf = new FS::Conf;
#some false laziness w/MyAccount::process_payment
$payinfo = $cust_main->payinfo;
} else {
$cgi->param('payinfo1') =~ /^(\d+)$/
- or errorpage("illegal account number ". $cgi->param('payinfo1'));
+ or errorpage("Illegal account number ". $cgi->param('payinfo1'));
my $payinfo1 = $1;
$cgi->param('payinfo2') =~ /^(\d+)$/
- or errorpage("illegal ABA/routing number ". $cgi->param('payinfo2'));
+ or errorpage("Illegal ABA/routing number ". $cgi->param('payinfo2'));
my $payinfo2 = $1;
+ if ( $conf->exists('cust_main-require-bank-branch') ) {
+ $cgi->param('payinfo3') =~ /^(\d+)$/
+ or errorpage("Illegal branch number ". $cgi->param('payinfo2'));
+ $payinfo2 = "$1.$payinfo2";
+ }
$payinfo = $payinfo1. '@'. $payinfo2;
}
$payinfo = $cust_main->payinfo;
}
$payinfo =~ s/\D//g;
- $payinfo =~ /^(\d{13,16})$/
+ $payinfo =~ /^(\d{13,16}|\d{8,9})$/
or errorpage(gettext('invalid_card')); # . ": ". $self->payinfo;
$payinfo = $1;
validate($payinfo)
#false laziness w/FS:;cust_main::realtime_bop - check both to make sure
# working correctly
- my $conf = new FS::Conf;
if ( $payby eq 'CARD' &&
grep { $_ eq cardtype($payinfo) } $conf->config('cvv-save') ) {
$new->set( 'paycvv' => $paycvv );