--- loncom/interface/createaccount.pm 2014/05/05 21:28:10 1.65
+++ loncom/interface/createaccount.pm 2015/01/09 15:41:49 1.69
@@ -4,7 +4,7 @@
# kerberos, or SSO) or an e-mail address. Requests to use an e-mail address as
# username may be processed automatically, or may be queued for approval.
#
-# $Id: createaccount.pm,v 1.65 2014/05/05 21:28:10 raeburn Exp $
+# $Id: createaccount.pm,v 1.69 2015/01/09 15:41:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -277,15 +277,13 @@ sub handler {
} elsif (!$token) {
&print_header($r,$start_page,$courseid);
my $now=time;
- my $gotlondes;
- if (grep(/^login$/,@{$cancreate})) {
+ if ((grep(/^login$/,@{$cancreate})) && (!grep(/^email$/,@{$cancreate}))) {
if (open(my $jsh,"<$include/londes.js")) {
while(my $line = <$jsh>) {
$r->print($line);
}
close($jsh);
$r->print(&javascript_setforms($now));
- $gotlondes = 1;
}
}
if (grep(/^email$/,@{$cancreate})) {
@@ -293,8 +291,7 @@ sub handler {
}
my $usertype = &get_usertype($domain);
$output = &print_username_form($r,$domain,$domdesc,$cancreate,$now,$lonhost,
- $include,$courseid,$gotlondes,$emailusername,
- $usertype);
+ $include,$courseid,$emailusername,$usertype);
}
$r->print($output);
&print_footer($r);
@@ -512,7 +509,7 @@ ENDSCRIPT
}
sub print_username_form {
- my ($r,$domain,$domdesc,$cancreate,$now,$lonhost,$include,$courseid,$gotlondes,$emailusername,
+ my ($r,$domain,$domdesc,$cancreate,$now,$lonhost,$include,$courseid,$emailusername,
$usertype) = @_;
my %lt = &Apache::lonlocal::texthash (
unam => 'username',
@@ -571,8 +568,7 @@ sub print_username_form {
$lt{'yopw'}.'
';
}
$output .= &print_dataentry_form($r,$domain,$lonhost,$include,$now,$captchaform,
- $courseid,$gotlondes,$emailusername,$captcha,
- $usertype);
+ $courseid,$emailusername,$captcha,$usertype);
}
$output .= '';
}
@@ -860,8 +856,8 @@ sub process_mailtoken {
sub start_session {
my ($r,$username,$domain,$uhome,$courseid,$token) = @_;
-
- if ($r->dir_config('lonBalancer') eq 'yes') {
+ my ($is_balancer) = &Apache::lonnet::check_loadbalancing($username,$domain);
+ if ($is_balancer) {
Apache::lonauth::success($r, $username, $domain, $uhome,
'noredirect', undef, {});
@@ -875,7 +871,6 @@ sub start_session {
($courseid ? "/adm/selfenroll?courseid=$courseid" : '/adm/roles'),
undef, {});
}
-
return;
}
@@ -885,21 +880,16 @@ sub start_session {
# Stores token to store DES-key and stage during creation session
#
sub print_dataentry_form {
- my ($r,$domain,$lonhost,$include,$now,$captchaform,$courseid,$gotlondes,$emailusername,$captcha,
+ my ($r,$domain,$lonhost,$include,$now,$captchaform,$courseid,$emailusername,$captcha,
$usertype) = @_;
my ($error,$output);
- unless ($gotlondes) {
- if (open(my $jsh,"<$include/londes.js")) {
- while(my $line = <$jsh>) {
- $r->print($line);
- }
- close($jsh);
- $output = &javascript_setforms($now,$emailusername,$captcha,$usertype)."\n";
- $gotlondes = 1;
- }
- }
- if ($gotlondes) {
- $output .= &javascript_checkpass($now,'email');
+ if (open(my $jsh,"<$include/londes.js")) {
+ while(my $line = <$jsh>) {
+ $r->print($line);
+ }
+ close($jsh);
+ $output = &javascript_setforms($now,$emailusername,$captcha,$usertype)."\n".
+ &javascript_checkpass($now,'email');
my ($lkey,$ukey) = &Apache::loncommon::des_keys();
my ($lextkey,$uextkey) = &getkeys($lkey,$ukey);
my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount:createaccount',
@@ -1003,7 +993,12 @@ sub get_creation_controls {
if (ref($usercreation->{'cancreate'}{'emailusername'}) eq 'HASH') {
$emailusername = $usercreation->{'cancreate'}{'emailusername'};
} else {
- $emailusername = {'lastname' => '1', 'firstname' => 1, };
+ $emailusername = {
+ default => {
+ 'lastname' => '1',
+ 'firstname' => 1,
+ },
+ };
}
}
}
@@ -1230,7 +1225,9 @@ sub username_check {
$output = '