summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-04-29 12:18:07 -0700
committerIvan Kohler <ivan@freeside.biz>2013-04-29 12:18:07 -0700
commit7266a53154af0f0b2240d3de4f912c52670d67d0 (patch)
tree50ffa1f5b555b4a1a500d8a2925fb6f45c77a2a7
parentf3e0ac2b009c4edd5692cb587ff709dac2223ebe (diff)
add selectable domain option to signup, RT#21557
-rw-r--r--FS/FS/ClientAPI/Signup.pm2
-rw-r--r--FS/FS/Conf.pm9
-rw-r--r--fs_selfservice/FS-SelfService/SelfService.pm3
-rwxr-xr-xfs_selfservice/FS-SelfService/cgi/signup.cgi6
-rwxr-xr-xfs_selfservice/FS-SelfService/cgi/signup.html6
5 files changed, 21 insertions, 5 deletions
diff --git a/FS/FS/ClientAPI/Signup.pm b/FS/FS/ClientAPI/Signup.pm
index 1dbb20bc7..895c5823e 100644
--- a/FS/FS/ClientAPI/Signup.pm
+++ b/FS/FS/ClientAPI/Signup.pm
@@ -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_domain );
my @selfservice_textareas = qw( head body_header body_footer );
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 6a19ff475..c93331d24 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -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_domain',
+ 'section' => 'self-service',
+ 'description' => 'If specified, the default domain 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).',
diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm
index 651a8f5cf..1fa67c2ad 100644
--- a/fs_selfservice/FS-SelfService/SelfService.pm
+++ b/fs_selfservice/FS-SelfService/SelfService.pm
@@ -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. '"'.
diff --git a/fs_selfservice/FS-SelfService/cgi/signup.cgi b/fs_selfservice/FS-SelfService/cgi/signup.cgi
index 23d814e16..88eab5cce 100755
--- a/fs_selfservice/FS-SelfService/cgi/signup.cgi
+++ b/fs_selfservice/FS-SelfService/cgi/signup.cgi
@@ -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
+ );
diff --git a/fs_selfservice/FS-SelfService/cgi/signup.html b/fs_selfservice/FS-SelfService/cgi/signup.html
index 16ef7f726..d5cbcd4c5 100755
--- a/fs_selfservice/FS-SelfService/cgi/signup.html
+++ b/fs_selfservice/FS-SelfService/cgi/signup.html
@@ -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_domain )
+ if $default_svcpart;
+
+ $OUT .= <<ENDOUT;
<TR>
<TD ALIGN="right">Password</TD>
<TD><INPUT TYPE="password" NAME="_password" VALUE="$_password"></TD>