fix prospect creation from EUS API, #39776
authorMark Wells <mark@freeside.biz>
Thu, 6 Oct 2016 22:55:10 +0000 (15:55 -0700)
committerMark Wells <mark@freeside.biz>
Thu, 6 Oct 2016 23:33:17 +0000 (16:33 -0700)
FS/FS/ClientAPI/Signup.pm
ng_selfservice/coverage_post.php

index df276f0..e11a47a 100644 (file)
@@ -1295,7 +1295,15 @@ sub new_prospect {
         'title'     => $title,
     });
     if (!$part_referral) {
-      return { error => "Unknown referral type: '$title'" };
+      $part_referral = FS::part_referral->new({
+        'agentnum' => $agentnum,
+        'title'    => $title,
+        'referral' => $title,
+      });
+      $error = $part_referral->insert;
+      if ( $error ) {
+        warn "ERROR: could not create referral type '$title': $error\n";
+      }
     }
     $refnum = $part_referral->refnum;
   } elsif ( $packet->{refnum} ) {
@@ -1344,9 +1352,8 @@ sub new_prospect {
   }
   $location->set('country', $country);
   $location->set('state', $state);
-  $prospect->set('cust_location', $location);
 
-  $error ||= $prospect->insert; # also does location
+  $error ||= $prospect->insert( cust_location => $location );
   return { error => $error } if $error;
 
   my $contact = FS::contact->new({
index 657a2ff..c457002 100644 (file)
@@ -10,7 +10,7 @@ $xml = file_get_contents('php://input');
 $doc = new SimpleXMLElement($xml);
 $cd = $doc->CustomerDetails;
 if ($DEBUG) {
-    error_log(var_dump($cd));
+    error_log(print_r($cd),1);
 }
 
 // State and Country are names rather than codes, but we fix that on the other
@@ -35,9 +35,9 @@ $prospect = Array();
 foreach ($map_fields as $k => $v) {
     $prospect[$k] = (string)($cd->$v);
 }
-error_log(var_dump($prospect));
+error_log(print_r($prospect),1);
 $freeside = new FreesideSelfService();
 $result = $freeside->new_prospect($prospect);
-error_log(var_dump($result));
+error_log(print_r($result),1);
 
 ?>