[freeside-commits] branch master updated. 24d7bc2044c75f49fc11816b62e1a4b01b3337e9

Ivan ivan at 420.am
Wed May 9 13:02:21 PDT 2012


The branch, master has been updated
       via  24d7bc2044c75f49fc11816b62e1a4b01b3337e9 (commit)
      from  ad434319858f0cf862498538ad17123ee61be1b4 (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 24d7bc2044c75f49fc11816b62e1a4b01b3337e9
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed May 9 13:02:20 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