with cust_main-custnum-display_prefix, use prefixed customer numbers on batch import...
authorIvan Kohler <ivan@freeside.biz>
Sun, 9 Feb 2014 22:59:10 +0000 (14:59 -0800)
committerIvan Kohler <ivan@freeside.biz>
Sun, 9 Feb 2014 22:59:10 +0000 (14:59 -0800)
FS/FS/Record.pm
FS/FS/cust_pay.pm

index ff8a0cc..a47cc8b 100644 (file)
@@ -1847,6 +1847,9 @@ sub batch_import {
   my $file    = $param->{file};
   my $params  = $param->{params} || {};
 
   my $file    = $param->{file};
   my $params  = $param->{params} || {};
 
+  my $custnum_prefix = $conf->config('cust_main-custnum-display_prefix');
+  my $custnum_length = $conf->config('cust_main-custnum-display_length') || 8;
+
   my( $type, $header, $sep_char,
       $fixedlength_format, $xml_format, $asn_format,
       $parser_opt, $row_callback, @fields );
   my( $type, $header, $sep_char,
       $fixedlength_format, $xml_format, $asn_format,
       $parser_opt, $row_callback, @fields );
@@ -2131,6 +2134,11 @@ sub batch_import {
 
     }
 
 
     }
 
+    if ( $custnum_prefix && $hash{custnum} =~ /^$custnum_prefix(0*([1-9]\d*))$/
+                         && length($1) == $custnum_length ) {
+      $hash{custnum} = $2;
+    }
+
     #my $table   = $param->{table};
     my $class = "FS::$table";
 
     #my $table   = $param->{table};
     my $class = "FS::$table";
 
index b7189a8..63d7c48 100644 (file)
@@ -1100,6 +1100,9 @@ sub batch_import {
   $_date = parse_datetime($_date) if $_date && $_date =~ /\D/;
   my $paybatch = $param->{'paybatch'};
 
   $_date = parse_datetime($_date) if $_date && $_date =~ /\D/;
   my $paybatch = $param->{'paybatch'};
 
+  my $custnum_prefix = $conf->config('cust_main-custnum-display_prefix');
+  my $custnum_length = $conf->config('cust_main-custnum-display_length') || 8;
+
   # here is the agent virtualization
   my $extra_sql = ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql;
 
   # here is the agent virtualization
   my $extra_sql = ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql;
 
@@ -1186,6 +1189,11 @@ sub batch_import {
       $cust_pay{$field} = shift @columns; 
     }
 
       $cust_pay{$field} = shift @columns; 
     }
 
+    if ( $custnum_prefix && $cust_pay{custnum} =~ /^$custnum_prefix(0*([1-9]\d*))$/
+                         && length($1) == $custnum_length ) {
+      $cust_pay{custnum} = $2;
+    }
+
     my $cust_pay = new FS::cust_pay( \%cust_pay );
     my $error = $cust_pay->insert;
 
     my $cust_pay = new FS::cust_pay( \%cust_pay );
     my $error = $cust_pay->insert;