signup without a service
authorIvan Kohler <ivan@freeside.biz>
Sat, 6 Jun 2015 21:02:46 +0000 (14:02 -0700)
committerIvan Kohler <ivan@freeside.biz>
Sat, 6 Jun 2015 21:02:46 +0000 (14:02 -0700)
FS/FS/ClientAPI/Signup.pm
FS/FS/Conf.pm

index d3e534c..4e2827c 100644 (file)
@@ -972,7 +972,6 @@ sub new_customer_minimal {
     my $part_pkg =
       qsearchs( 'part_pkg', { 'pkgpart' => $pkgpart } )
         or return { 'error' => "WARNING: unknown pkgpart: $pkgpart" };
-    my $svcpart = $part_pkg->svcpart($svc_x);
 
     my $cust_pkg = new FS::cust_pkg ( {
       #later#'custnum' => $custnum,
@@ -981,35 +980,40 @@ sub new_customer_minimal {
     #my $error = $cust_pkg->check;
     #return { 'error' => $error } if $error;
 
-    #should be all auto-magic and shit
-    if ( $svc_x eq 'svc_acct' ) {
+    unless ( $svc_x eq 'none' ) {
 
-      my $svc = new FS::svc_acct {
-        'svcpart'   => $svcpart,
-        map { $_ => $packet->{$_} }
-          qw( username _password sec_phrase popnum domsvc ),
-      };
+      my $svcpart = $part_pkg->svcpart($svc_x);
+      #should be all auto-magic and shit
+      if ( $svc_x eq 'svc_acct' ) {
 
-      push @svc, $svc;
+        my $svc = new FS::svc_acct {
+          'svcpart'   => $svcpart,
+          map { $_ => $packet->{$_} }
+            qw( username _password sec_phrase popnum domsvc ),
+        };
 
-    } elsif ( $svc_x eq 'svc_phone' ) {
+        push @svc, $svc;
 
-      push @svc, new FS::svc_phone ( {
-        'svcpart' => $svcpart,
-         map { $_ => $packet->{$_} }
-           qw( countrycode phonenum sip_password pin ),
-      } );
-
-    } elsif ( $svc_x eq 'svc_pbx' ) {
+      } elsif ( $svc_x eq 'svc_phone' ) {
 
-      push @svc, new FS::svc_pbx ( {
+        push @svc, new FS::svc_phone ( {
           'svcpart' => $svcpart,
-          map { $_ => $packet->{$_} } 
-            qw( id title ),
-          } );
+           map { $_ => $packet->{$_} }
+             qw( countrycode phonenum sip_password pin ),
+        } );
+
+      } elsif ( $svc_x eq 'svc_pbx' ) {
+
+        push @svc, new FS::svc_pbx ( {
+            'svcpart' => $svcpart,
+            map { $_ => $packet->{$_} } 
+              qw( id title ),
+            } );
     
-    } else {
-      die "unknown signup service $svc_x";
+      } else {
+        die "unknown signup service $svc_x";
+      }
+
     }
 
     foreach my $svc ( @svc ) {
@@ -1057,6 +1061,7 @@ sub new_customer_minimal {
                  'signup_service' => $svc_x,
                  'custnum'        => $cust_main->custnum,
                  'session_id'     => $session_id,
+                 map { $_ => $cust_main->$_ } qw( first last company ),
                );
 
   if ( $svc[0] ) {
index 78baa2f..9255284 100644 (file)
@@ -2295,6 +2295,7 @@ and customer address. Include units.',
                        'svc_acct'  => 'Account (svc_acct)',
                        'svc_phone' => 'Phone number (svc_phone)',
                        'svc_pbx'   => 'PBX (svc_pbx)',
+                       'none'      => 'None - package only',
                      ],
   },