diff options
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/edit/cust_main/billing.html | 4 | ||||
-rwxr-xr-x | httemplate/search/cust_pay.cgi | 33 |
2 files changed, 24 insertions, 13 deletions
diff --git a/httemplate/edit/cust_main/billing.html b/httemplate/edit/cust_main/billing.html index 77db7b6c6..d3cd77dbb 100644 --- a/httemplate/edit/cust_main/billing.html +++ b/httemplate/edit/cust_main/billing.html @@ -149,8 +149,6 @@ % my $disabled = 'DISABLED style="background-color: #dddddd"'; % my $text_disabled = 'style="color: #999999"'; % -% # this is not going to work unless the mask-generation recognizes -% # Switch/Solo cards % if ( $payby =~ /^(CARD|DCRD)$/ && cardtype($paymask) =~ /^(Switch|Solo)$/ ) { % $disabled = 'style="background-color: #ffffff"'; % $text_disabled = 'style="color: #000000";' @@ -194,7 +192,7 @@ % 'end_year' => (localtime())[5] + 1900, % 'selected_date' => ( % ( $payby =~ /^(CARD|DCRD)$/ -% && cardtype($paymask) =~ /^(Switch|Solo)$/ ) #also +% && cardtype($paymask) =~ /^(Switch|Solo)$/ ) % ? $cust_main->paystart_month. '-'. % $cust_main->paystart_year % : '' diff --git a/httemplate/search/cust_pay.cgi b/httemplate/search/cust_pay.cgi index 98cc0e799..199c66d81 100755 --- a/httemplate/search/cust_pay.cgi +++ b/httemplate/search/cust_pay.cgi @@ -21,9 +21,13 @@ % or die "illegal payby ". $cgi->param('payby'); % push @search, "cust_pay.payby = '$1'"; % if ( $3 ) { -% if ( $3 eq 'VisaMC' ) { +% +% my $cardtype = $3; +% +% my $search; +% if ( $cardtype eq 'VisaMC' ) { % #avoid posix regexes for portability -% push @search, +% $search = % " ( ( substring(cust_pay.payinfo from 1 for 1) = '4' ". % " AND substring(cust_pay.payinfo from 1 for 4) != '4936' ". % " AND substring(cust_pay.payinfo from 1 for 6) ". @@ -43,19 +47,21 @@ % " OR substring(cust_pay.payinfo from 1 for 2) = '54' ". % " OR substring(cust_pay.payinfo from 1 for 2) = '54' ". % " OR substring(cust_pay.payinfo from 1 for 2) = '55' ". +% " OR substring(cust_pay.payinfo from 1 for 2) = '36' ". #Diner's int'l processed as Visa/MC inside US % " ) "; -% } elsif ( $3 eq 'Amex' ) { -% push @search, +% } elsif ( $cardtype eq 'Amex' ) { +% $search = % " ( substring(cust_pay.payinfo from 1 for 2 ) = '34' ". % " OR substring(cust_pay.payinfo from 1 for 2 ) = '37' ". % " ) "; -% } elsif ( $3 eq 'Discover' ) { -% push @search, +% } elsif ( $cardtype eq 'Discover' ) { +% $search = % " ( substring(cust_pay.payinfo from 1 for 4 ) = '6011' ". -% " OR substring(cust_pay.payinfo from 1 for 3 ) = '650' ". +% " OR substring(cust_pay.payinfo from 1 for 2 ) = '65' ". +% " OR substring(cust_pay.payinfo from 1 for 3 ) = '622' ". #China Union Pay processed as Discover outside CN % " ) "; -% } elsif ( $3 eq 'Maestro' ) { -% push @search, +% } elsif ( $cardtype eq 'Maestro' ) { +% $search = % " ( substring(cust_pay.payinfo from 1 for 2 ) = '63' ". % " OR substring(cust_pay.payinfo from 1 for 2 ) = '67' ". % " OR substring(cust_pay.payinfo from 1 for 6 ) = '564182' ". @@ -72,8 +78,15 @@ % " SIMILAR TO '49118[1-2]' ". % " ) "; % } else { -% die "unknown card type $3"; +% die "unknown card type $cardtype"; % } +% +% my $masksearch = $search; +% $masksearch =~ s/cust_pay\.payinfo/cust_pay.paymask/gi; +% +% push @search, +% "( $search OR ( cust_pay.paymask IS NOT NULL AND $masksearch ) )"; +% % } % } % |