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;
my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
+
+ #implies ignore_expired_card
+ local($FS::cust_main::import) = 1;
+ local($FS::cust_main::import) = 1;
my $line;
my $row = 0;
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)$/ ) {
tie my %hash, 'Tie::RefHash'; #this part is important
if ( $cust_pkg{'pkgpart'} ) {
+
+ unless ( $cust_pkg{'pkgpart'} =~ /^\d+$/ ) {
+ $dbh->rollback if $oldAutoCommit;
+ return 'illegal pkgpart: '. $cust_pkg{'pkgpart'};
+ }
+
my $cust_pkg = new FS::cust_pkg ( \%cust_pkg );
my @svc_x = ();