[freeside-commits] branch FREESIDE_4_BRANCH updated. a32d53ec735523beff800af4ff617f85d5808bd7

Ivan ivan at 420.am
Fri Aug 25 10:05:31 PDT 2017


The branch, FREESIDE_4_BRANCH has been updated
       via  a32d53ec735523beff800af4ff617f85d5808bd7 (commit)
      from  3510dde42ea17b789758981118e50dd0fb8b37ce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a32d53ec735523beff800af4ff617f85d5808bd7
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Fri Aug 25 10:05:30 2017 -0700

    fix 4.x cust_payby vs legacy customer import, RT#77221

diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm
index 6464761..f9b167c 100644
--- a/FS/FS/cust_main/Import.pm
+++ b/FS/FS/cust_main/Import.pm
@@ -325,6 +325,7 @@ sub batch_import {
     my %svc_x = ();
     my %bill_location = ();
     my %ship_location = ();
+    my $cust_payby = '';
     foreach my $field ( @fields ) {
 
       if ( $field =~ /^cust_pkg\.(pkgpart|setup|bill|susp|adjourn|expire|cancel)$/ ) {
@@ -409,17 +410,17 @@ sub batch_import {
 
       if ( $cust_main{'payinfo'} =~ /^\s*(\d+\@[\d\.]+)\s*$/ ) {
 
-        $cust_main{'payby'}   = 'CHEK';
-        $cust_main{'payinfo'} = $1;
+        $cust_payby = new FS::cust_payby {
+          'payby'   => 'CHEK',
+          'payinfo' => $1,
+        };
 
-      } else {
-
-        $cust_main{'payby'} = 'CARD';
+      } elsif ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/) {
 
-        if ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/) {
-          $cust_main{'payby'} = 'DCRD' if $1 eq 'D';
-          $cust_main{'payinfo'} = $2;
-        }
+        $cust_payby = new FS::cust_payby {
+          'payby'   => ($1 eq 'D') ? 'DCRD' : 'CARD',
+          'payinfo' => $2,
+        };
 
       }
 
@@ -502,7 +503,10 @@ sub batch_import {
       $hash{$cust_pkg} = \@svc_x;
     }
 
-    my $error = $cust_main->insert( \%hash, $invoicing_list );
+    my %options = ('invoicing_list' => $invoicing_list);
+    $options{'cust_payby'} = $cust_payby if $cust_payby;
+
+    my $error = $cust_main->insert( \%hash, %options );
 
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/cust_main/Import.pm |   24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)




More information about the freeside-commits mailing list