referral import fixes, RT#4427
[freeside.git] / FS / FS / cust_main / Import.pm
index 5c00c66..f477323 100644 (file)
@@ -8,10 +8,12 @@ use MIME::Base64;
 use Date::Parse;
 use File::Slurp qw( slurp );
 use FS::UID qw( dbh );
+use FS::Record qw( qsearchs );
 use FS::cust_main;
 use FS::svc_acct;
 use FS::svc_external;
 use FS::svc_phone;
+use FS::part_referral;
 
 $DEBUG = 0;
 
@@ -190,7 +192,7 @@ sub batch_import {
     eval "use Spreadsheet::ParseExcel;";
     die $@ if $@;
 
-    my $excel = new Spreadsheet::ParseExcel::Workbook->Parse($filename);
+    my $excel = Spreadsheet::ParseExcel::Workbook->new->Parse($filename);
     $parser = $excel->{Worksheet}[0]; #first sheet
 
     $count = $parser->{MaxRow} || $parser->{MinRow};
@@ -232,7 +234,8 @@ sub batch_import {
 
     } elsif ( $type eq 'xls' ) {
 
-      last if $row > ($parser->{MaxRow} || $parser->{MinRow});
+      last if $row > ($parser->{MaxRow} || $parser->{MinRow})
+           || ! $parser->{Cells}[$row];
 
       my @row = @{ $parser->{Cells}[$row] };
       @columns = map $_->{Val}, @row;