new_customer_minimal accepts address, & doc it, RT#34084
[freeside.git] / FS / FS / ClientAPI / Signup.pm
index d507b8e..e1ee6cd 100644 (file)
@@ -529,6 +529,7 @@ sub new_customer {
     'tagnum'   => [ FS::part_tag->default_tags ],
 
     ( map { $_ => $packet->{$_} } qw(
+            salesnum
             ss stateid stateid_state
 
             payby
@@ -623,7 +624,7 @@ sub new_customer {
                                     );
     }
 
-    $cust_main->payby('BILL')   # MCRD better?
+    $cust_main->payby('BILL')   # MCRD better?  no, that's for something else
       if $gw && $gw->gateway_namespace eq 'Business::OnlineThirdPartyPayment';
   }
 
@@ -635,6 +636,16 @@ sub new_customer {
   $cust_main->payinfo($cust_main->daytime)
     if $cust_main->payby eq 'LECB' && ! $cust_main->payinfo;
 
+  if ( grep length($packet->{$_}), FS::cust_main->location_fields ) {
+    my $bill_hash;
+    foreach my $f (FS::cust_main->location_fields) {
+      $bill_hash->{$f} =  $packet->{$f};
+    }
+    my $bill_location = FS::cust_location->new($bill_hash);
+    $cust_main->set('bill_location' => $bill_location);
+    $cust_main->set('ship_location' => $bill_location);
+  }
+
   my @invoicing_list = $packet->{'invoicing_list'}
                          ? split( /\s*\,\s*/, $packet->{'invoicing_list'} )
                          : ();