X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main%2FImport.pm;h=901ff18ae429872d9a3841d6b3673170e7c6f7fb;hb=9f351b4a4df08d607aa0d647709b06cbea1c5ffe;hp=4f377b9b471309a276f1d28da726f33eb1a3b1ef;hpb=54d73dfad0b27edd10ec7c917a96c88d45ad6789;p=freeside.git diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm index 4f377b9b4..901ff18ae 100644 --- a/FS/FS/cust_main/Import.pm +++ b/FS/FS/cust_main/Import.pm @@ -5,13 +5,15 @@ use vars qw( $DEBUG $conf ); use Storable qw(thaw); use Data::Dumper; use MIME::Base64; -use Date::Parse; use File::Slurp qw( slurp ); +use FS::Misc::DateTime qw( parse_datetime ); 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; @@ -261,13 +264,13 @@ sub batch_import { if ( $field =~ /^cust_pkg\.(pkgpart|setup|bill|susp|adjourn|expire|cancel)$/ ) { - #$cust_pkg{$1} = str2time( shift @$columns ); + #$cust_pkg{$1} = parse_datetime( shift @$columns ); if ( $1 eq 'pkgpart' ) { $cust_pkg{$1} = shift @columns; } elsif ( $1 eq 'setup' ) { - $billtime = str2time(shift @columns); + $billtime = parse_datetime(shift @columns); } else { - $cust_pkg{$1} = str2time( shift @columns ); + $cust_pkg{$1} = parse_datetime( shift @columns ); } } elsif ( $field =~ /^svc_acct\.(username|_password)$/ ) { @@ -355,7 +358,6 @@ sub batch_import { push @svc_x, $class->new( \%svc_x ); } if ( $svc_phone ) { - warn $part_pkg->svcpart_unique_svcdb('svc_phone'); $svc_phone->svcpart( $part_pkg->svcpart_unique_svcdb('svc_phone') ); push @svc_x, $svc_phone; }