[freeside-commits] branch FREESIDE_2_3_BRANCH updated. ce6fe0db0319234dd54525874f735aec222f781e
Ivan
ivan at 420.am
Wed May 9 13:02:22 PDT 2012
The branch, FREESIDE_2_3_BRANCH has been updated
via ce6fe0db0319234dd54525874f735aec222f781e (commit)
from 4541332ec8410303ebe630ce5fd37cf5bf8c6719 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ce6fe0db0319234dd54525874f735aec222f781e
Author: Ivan Kohler <ivan at freeside.biz>
Date: Wed May 9 13:02:21 2012 -0700
add "Birthdates and account, phone and hardware services" customer import format, RT#17578
diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm
index 7f5a3f0..4bb77c8 100644
--- a/FS/FS/cust_main/Import.pm
+++ b/FS/FS/cust_main/Import.pm
@@ -13,6 +13,7 @@ use FS::cust_main;
use FS::svc_acct;
use FS::svc_external;
use FS::svc_phone;
+use FS::svc_hardware;
use FS::part_referral;
$DEBUG = 0;
@@ -197,6 +198,22 @@ sub batch_import {
push @fields, map "svc_phone.$_", qw( countrycode phonenum sip_password pin)
if $format eq 'svc_external_svc_phone';
$payby = 'BILL';
+ } elsif ( $format eq 'birthdates-acct_phone_hardware') {
+ @fields = qw( agent_custid refnum
+ last first company address1 address2 city state zip country
+ daytime night
+ ship_last ship_first ship_company ship_address1 ship_address2
+ ship_city ship_state ship_zip ship_country
+ birthdate spouse_birthdate
+ payinfo paycvv paydate
+ invoicing_list
+ cust_pkg.pkgpart cust_pkg.bill
+ svc_acct.username svc_acct._password
+ );
+ push @fields, map "svc_phone.$_", qw(countrycode phonenum sip_password pin);
+ push @fields, map "svc_hardware.$_", qw(typenum ip_addr hw_addr serial);
+warn Dumper(@fields);
+ $payby = 'BILL';
} else {
die "unknown format $format";
}
@@ -314,7 +331,11 @@ sub batch_import {
} elsif ( $field =~ /^svc_phone\.(countrycode|phonenum|sip_password|pin)$/ ) {
$svc_x{$1} = shift @columns;
-
+
+ } elsif ( $field =~ /^svc_hardware\.(typenum|ip_addr|hw_addr|serial)$/ ) {
+
+ $svc_x{$1} = shift @columns;
+
} else {
#refnum interception
@@ -353,6 +374,9 @@ sub batch_import {
}
}
+ $cust_main{$_} = parse_datetime($cust_main{$_})
+ foreach grep $cust_main{$_}, qw( birthdate spouse_birthdate );
+
my $invoicing_list = $cust_main{'invoicing_list'}
? [ delete $cust_main{'invoicing_list'} ]
: [];
@@ -387,11 +411,19 @@ sub batch_import {
if ( $svc_x{'countrycode'} || $svc_x{'phonenum'} ) {
$svc_phone = FS::svc_phone->new( {
map { $_ => delete($svc_x{$_}) }
- qw( countrycode phonenum sip_password pin)
+ qw( countrycode phonenum sip_password pin )
} );
}
- if ( $svcdb || $svc_phone ) {
+ my $svc_hardware = '';
+ if ( $svc_x{'typenum'} ) {
+ $svc_hardware = FS::svc_hardware->new( {
+ map { $_ => delete($svc_x{$_}) }
+ qw( typenum ip_addr hw_addr serial )
+ } );
+ }
+
+ if ( $svcdb || $svc_phone || $svc_hardware ) {
my $part_pkg = $cust_pkg->part_pkg;
unless ( $part_pkg ) {
$dbh->rollback if $oldAutoCommit;
@@ -406,8 +438,15 @@ sub batch_import {
$svc_phone->svcpart( $part_pkg->svcpart_unique_svcdb('svc_phone') );
push @svc_x, $svc_phone;
}
+ if ( $svc_hardware ) {
+ $svc_hardware->svcpart( $part_pkg->svcpart_unique_svcdb('svc_hardware') );
+ push @svc_x, $svc_hardware;
+ }
+
}
+warn Dumper(@svc_x);
+
$hash{$cust_pkg} = \@svc_x;
}
diff --git a/httemplate/misc/cust_main-import.cgi b/httemplate/misc/cust_main-import.cgi
index 6646510..74f9b4c 100644
--- a/httemplate/misc/cust_main-import.cgi
+++ b/httemplate/misc/cust_main-import.cgi
@@ -35,6 +35,7 @@ Import a file containing customer records.
<OPTION VALUE="extended-plus_company_and_options">Extended plus company and options
<OPTION VALUE="svc_external">External service
<OPTION VALUE="svc_external_svc_phone">External service and phone service
+ <OPTION VALUE="birthdates-acct_phone_hardware">Birthdates and account, phone and hardware services
</SELECT>
</TD>
</TR>
@@ -106,6 +107,9 @@ Uploaded files can be CSV (comma-separated value) files or Excel spreadsheets.
<b>External service and phone service</b> format has the following field order: <i>agent_custid, refnum<%$req%>, last<%$req%>, first<%$req%>, company, address1<%$req%>, address2, city<%$req%>, state<%$req%>, zip<%$req%>, country, daytime, night, ship_last, ship_first, ship_company, ship_address1, ship_address2, ship_city, ship_state, ship_zip, ship_country, payinfo, paycvv, paydate, invoicing_list, pkgpart, next_bill_date, id, title, countrycode, phonenum, sip_password, pin</i>
<BR><BR>
+<b>Birthdates and account, phone and hardware services</b> format has the following field order: <i>agent_custid, refnum<%$req%>, last<%$req%>, first<%$req%>, company, address1<%$req%>, address2, city<%$req%>, state<%$req%>, zip<%$req%>, country, daytime, night, ship_last, ship_first, ship_company, ship_address1, ship_address2, ship_city, ship_state, ship_zip, ship_country, birthdate, spouse_birthdate, payinfo, paycvv, paydate, invoicing_list, pkgpart, next_bill_date, username, _password, countrycode, phonenum, sip_password, pin, typenum, ip_addr, hw_addr, serial</i>
+<BR><BR>
+
<%$req%> Required fields
<BR><BR>
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_main/Import.pm | 45 +++++++++++++++++++++++++++++++--
httemplate/misc/cust_main-import.cgi | 4 +++
2 files changed, 46 insertions(+), 3 deletions(-)
More information about the freeside-commits
mailing list