mask echeck acct# on invoices, RT#26859
authorIvan Kohler <ivan@freeside.biz>
Wed, 8 Jan 2014 00:53:45 +0000 (16:53 -0800)
committerIvan Kohler <ivan@freeside.biz>
Wed, 8 Jan 2014 00:53:45 +0000 (16:53 -0800)
FS/FS/payinfo_Mixin.pm
httemplate/view/cust_main/payment_history.html

index 07367f2..f202bbd 100644 (file)
@@ -254,7 +254,18 @@ sub payby_payinfo_pretty {
   if ( $self->payby eq 'CARD' ) {
     $lh->maketext('Card #') . $self->paymask;
   } elsif ( $self->payby eq 'CHEK' ) {
-    $lh->maketext('E-check acct#') . $self->payinfo;
+
+    #false laziness w/view/cust_main/payment_history.html::translate_payinfo
+    my( $account, $aba ) = split('@', $self->paymask );
+
+    if ( $aba =~ /^(\d{5})\.(\d{3})$/ ) { #blame canada
+      my($branch, $routing) = ($1, $2);
+      $lh->maketext("Routing [_1], Branch [_2], Acct [_3]",
+                     $routing, $branch, $account);
+    } else {
+      $lh->maketext("Routing [_1], Acct [_2]", $aba, $account);
+    }
+
   } elsif ( $self->payby eq 'BILL' ) {
     $lh->maketext('Check #') . $self->payinfo;
   } elsif ( $self->payby eq 'PREP' ) {
index d46bc82..502c127 100644 (file)
@@ -555,13 +555,18 @@ sub translate_payinfo {
     my $payby = $object->payby;
     my $payinfo = $object->payinfo;
 
-    my $conf = new FS::Conf;
-
     if ( $payby eq 'CARD' ) {
         $payinfo = $object->paymask;
     } elsif ( $payby eq 'CHEK' ) {
+        #false laziness w/payinfo_Mixin::payby_payinfo_pretty, should use that
         my( $account, $aba ) = split('@', $object->paymask );
-        $payinfo = emt("ABA [_1], Acct #[_2]",$aba,$account);
+        if ( $aba =~ /^(\d{5})\.(\d{3})$/ ) { #blame canada
+          my($branch, $routing) = ($1, $2);
+          $payinfo = emt("Routing [_1], Branch [_2], Acct [_3]",
+                         $routing, $branch, $account);
+        } else {
+          $payinfo = emt("Routing [_1], Acct [_2]", $aba, $account);
+        }
     }
 
     ($payby,$payinfo);