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;
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};
} 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;
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)$/ ) {
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;
}