projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix date parsing when using international dates (package date edit), RT#8027
[freeside.git]
/
FS
/
FS
/
cust_main
/
Import.pm
diff --git
a/FS/FS/cust_main/Import.pm
b/FS/FS/cust_main/Import.pm
index
4f377b9
..
901ff18
100644
(file)
--- 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 Storable qw(thaw);
use Data::Dumper;
use MIME::Base64;
-use Date::Parse;
use File::Slurp qw( slurp );
use File::Slurp qw( slurp );
+use FS::Misc::DateTime qw( parse_datetime );
use FS::UID qw( dbh );
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::cust_main;
use FS::svc_acct;
use FS::svc_external;
use FS::svc_phone;
+use FS::part_referral;
$DEBUG = 0;
$DEBUG = 0;
@@
-190,7
+192,7
@@
sub batch_import {
eval "use Spreadsheet::ParseExcel;";
die $@ if $@;
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};
$parser = $excel->{Worksheet}[0]; #first sheet
$count = $parser->{MaxRow} || $parser->{MinRow};
@@
-232,7
+234,8
@@
sub batch_import {
} elsif ( $type eq 'xls' ) {
} 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;
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)$/ ) {
if ( $field =~ /^cust_pkg\.(pkgpart|setup|bill|susp|adjourn|expire|cancel)$/ ) {
- #$cust_pkg{$1} =
str2
time( shift @$columns );
+ #$cust_pkg{$1} =
parse_date
time( shift @$columns );
if ( $1 eq 'pkgpart' ) {
$cust_pkg{$1} = shift @columns;
} elsif ( $1 eq 'setup' ) {
if ( $1 eq 'pkgpart' ) {
$cust_pkg{$1} = shift @columns;
} elsif ( $1 eq 'setup' ) {
- $billtime =
str2
time(shift @columns);
+ $billtime =
parse_date
time(shift @columns);
} else {
} else {
- $cust_pkg{$1} =
str2
time( shift @columns );
+ $cust_pkg{$1} =
parse_date
time( shift @columns );
}
} elsif ( $field =~ /^svc_acct\.(username|_password)$/ ) {
}
} elsif ( $field =~ /^svc_acct\.(username|_password)$/ ) {
@@
-355,7
+358,6
@@
sub batch_import {
push @svc_x, $class->new( \%svc_x );
}
if ( $svc_phone ) {
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;
}
$svc_phone->svcpart( $part_pkg->svcpart_unique_svcdb('svc_phone') );
push @svc_x, $svc_phone;
}