Merge branch 'master' of git.freeside.biz:/home/git/freeside
authorIvan Kohler <ivan@freeside.biz>
Mon, 29 Apr 2013 19:31:20 +0000 (12:31 -0700)
committerIvan Kohler <ivan@freeside.biz>
Mon, 29 Apr 2013 19:31:20 +0000 (12:31 -0700)
FS/FS/ClientAPI/Signup.pm
FS/FS/Conf.pm
fs_selfservice/FS-SelfService/SelfService.pm
fs_selfservice/FS-SelfService/cgi/signup.cgi
fs_selfservice/FS-SelfService/cgi/signup.html

index c3beb69..57091c4 100644 (file)
@@ -98,7 +98,7 @@ sub signup_info {
 
     my @signup_bools = qw( no_company recommend_daytime recommend_email );
 
-    my @signup_server_scalars = qw( default_pkgpart default_svcpart );
+    my @signup_server_scalars = qw( default_pkgpart default_svcpart default_domsvc );
 
     my @selfservice_textareas = qw( head body_header body_footer );
 
@@ -670,7 +670,7 @@ sub new_customer {
     my $svc = new FS::svc_acct {
       'svcpart'   => $svcpart,
       map { $_ => $packet->{$_} }
-        qw( username _password sec_phrase popnum ),
+        qw( username _password sec_phrase popnum domsvc ),
     };
 
     my @acct_snarf;
index 8dbc070..db21563 100644 (file)
@@ -2159,11 +2159,18 @@ and customer address. Include units.',
   {
     'key'         => 'signup_server-default_svcpart',
     'section'     => 'self-service',
-    'description' => 'Default service definition for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning).',
+    'description' => 'Default service definition for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning or domain selection).',
     'type'        => 'select-part_svc',
   },
 
   {
+    'key'         => 'signup_server-default_domsvc',
+    'section'     => 'self-service',
+    'description' => 'If specified, the default domain svcpart for signup (useful when domain is set to selectable choice).',
+    'type'        => 'text',
+  },
+
+  {
     'key'         => 'signup_server-mac_addr_svcparts',
     'section'     => 'self-service',
     'description' => 'Service definitions which can receive mac addresses (current mapped to username for svc_acct).',
index 651a8f5..d44f978 100644 (file)
@@ -1799,8 +1799,9 @@ sub domainselector {
            '<INPUT TYPE="hidden" NAME="domsvc" VALUE="'. $key. '"></TD></TR>'
   }
 
-  my $text .= qq!<TR><TD ALIGN="right">Domain</TD><TD><SELECT NAME="domsvc" SIZE=1 STYLE="width: 20em"><OPTION>(Choose Domain)!;
+  my $text .= qq!<TR><TD ALIGN="right">Domain</TD><TD><SELECT NAME="domsvc" SIZE=1 STYLE="width: 20em">!;
 
+  $text .= '<OPTION>(Choose Domain)' unless $domsvc;
 
   foreach my $domain ( sort { $domains->{$a} cmp $domains->{$b} } keys %$domains ) {
     $text .= qq!<OPTION VALUE="!. $domain. '"'.
index 23d814e..88eab5c 100755 (executable)
@@ -231,7 +231,7 @@ if ( $magic eq 'process' || $action eq 'process_signup' ) {
                 invoicing_list referral_custnum promo_code reg_code
                 override_ban_warn
                 pkgpart refnum agentnum
-                username sec_phrase _password popnum
+                username sec_phrase _password popnum domsvc
                 mac_addr
                 countrycode phonenum sip_password pin prepaid_shortform
               ),
@@ -500,5 +500,7 @@ END
 
 package FS::SelfService::_signupcgi;
 use HTML::Entities;
-use FS::SelfService qw(regionselector expselect popselector didselector);
+use FS::SelfService qw( regionselector expselect popselector domainselector
+                        didselector
+                      );
 
index 16ef7f7..306e497 100755 (executable)
@@ -319,6 +319,12 @@ ENDOUT
   <TD ALIGN="right">Username</TD>
   <TD><INPUT TYPE="text" NAME="username" VALUE="$username"></TD>
 </TR>
+ENDOUT
+
+  $OUT .= domainselector( svcpart=>$default_svcpart, domsvc=>$default_domsvc )
+    if $default_svcpart;
+
+    $OUT .= <<ENDOUT;
 <TR>
   <TD ALIGN="right">Password</TD>
   <TD><INPUT TYPE="password" NAME="_password" VALUE="$_password"></TD>