projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix 4.x cust_payby vs legacy customer import, RT#77221
[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
6464761
..
f9b167c
100644
(file)
--- a/
FS/FS/cust_main/Import.pm
+++ b/
FS/FS/cust_main/Import.pm
@@
-325,6
+325,7
@@
sub batch_import {
my %svc_x = ();
my %bill_location = ();
my %ship_location = ();
my %svc_x = ();
my %bill_location = ();
my %ship_location = ();
+ my $cust_payby = '';
foreach my $field ( @fields ) {
if ( $field =~ /^cust_pkg\.(pkgpart|setup|bill|susp|adjourn|expire|cancel)$/ ) {
foreach my $field ( @fields ) {
if ( $field =~ /^cust_pkg\.(pkgpart|setup|bill|susp|adjourn|expire|cancel)$/ ) {
@@
-409,17
+410,17
@@
sub batch_import {
if ( $cust_main{'payinfo'} =~ /^\s*(\d+\@[\d\.]+)\s*$/ ) {
if ( $cust_main{'payinfo'} =~ /^\s*(\d+\@[\d\.]+)\s*$/ ) {
- $cust_main{'payby'} = 'CHEK';
- $cust_main{'payinfo'} = $1;
+ $cust_payby = new FS::cust_payby {
+ 'payby' => 'CHEK',
+ 'payinfo' => $1,
+ };
- } else {
-
- $cust_main{'payby'} = 'CARD';
+ } elsif ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/) {
-
if ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/)
{
- $cust_main{'payby'} = 'DCRD' if $1 eq 'D';
- $cust_main{'payinfo'} = $2;
- }
+
$cust_payby = new FS::cust_payby
{
+ 'payby' => ($1 eq 'D') ? 'DCRD' : 'CARD',
+ 'payinfo' => $2,
+ }
;
}
}
@@
-502,7
+503,10
@@
sub batch_import {
$hash{$cust_pkg} = \@svc_x;
}
$hash{$cust_pkg} = \@svc_x;
}
- my $error = $cust_main->insert( \%hash, $invoicing_list );
+ my %options = ('invoicing_list' => $invoicing_list);
+ $options{'cust_payby'} = $cust_payby if $cust_payby;
+
+ my $error = $cust_main->insert( \%hash, %options );
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
if ( $error ) {
$dbh->rollback if $oldAutoCommit;