--- loncom/interface/createaccount.pm 2020/09/08 18:08:29 1.80 +++ loncom/interface/createaccount.pm 2022/10/18 23:28:00 1.87 @@ -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.80 2020/09/08 18:08:29 raeburn Exp $ +# $Id: createaccount.pm,v 1.87 2022/10/18 23:28:00 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -37,7 +37,6 @@ use Apache::lonacc; use Apache::lonnet; use Apache::loncommon; use Apache::lonhtmlcommon; -use Apache::lonuserutils; use Apache::lonlocal; use Apache::lonauth; use Apache::resetpw; @@ -438,7 +437,9 @@ sub javascript_setforms { } $setuserinfo .= ' server.elements.'.$key.'.value=client.elements.'.$key.'.value;'."\n"; } - $setuserinfo .= ' server.elements.type.value=client.elements.type.value;'."\n"; + if ($usertype ne '') { + $setuserinfo .= ' server.elements.type.value=client.elements.type.value;'."\n"; + } } if ($captcha eq 'original') { $setuserinfo .= ' server.elements.code.value=client.elements.code.value;'."\n". @@ -526,7 +527,7 @@ sub javascript_checkpass { my $mismatchpass = &mt('The passwords you entered did not match.')."\n". &mt('Please try again.'); my ($numrules,$intargjs) = - &Apache::lonuserutils::passwd_validation_js('upass',$domain); + &Apache::loncommon::passwd_validation_js('upass',$domain); &js_escape(\$nopass); &js_escape(\$mismatchpass); my $js = <<"ENDSCRIPT"; @@ -739,7 +740,7 @@ sub login_box { $lonhost); $output = &serverform($logtoken,$lonhost,undef,$courseid,$context); my $unameform = ''; - my $upassform = ''; + my $upassform = ''; $output .= '
'; return $msg; } - my %info = ('ip' => $ENV{'REMOTE_ADDR'}, + my $ip = &Apache::lonnet::get_requestor_ip(); + my %info = ('ip' => $ip, 'time' => $now, 'domain' => $domain, 'username' => $email, @@ -1098,8 +1100,9 @@ sub process_mailtoken { &create_account($r,$domain,$domdesc,\%data); if ($result eq 'ok') { $msg = $output; + my $ip = &Apache::lonnet::get_requestor_ip(); my $shownow = &Apache::lonlocal::locallocaltime($now); - my $mailmsg = &mt('A LON-CAPA account for the institution: [_1] has been created [_2] from IP address: [_3]. If you did not perform this action or authorize it, please contact the [_4] ([_5]).',$domdesc,$shownow,$ENV{'REMOTE_ADDR'},$contact_name,$contact_email)."\n"; + my $mailmsg = &mt('A LON-CAPA account for the institution: [_1] has been created [_2] from IP address: [_3]. If you did not perform this action or authorize it, please contact the [_4] ([_5]).',$domdesc,$shownow,$ip,$contact_name,$contact_email)."\n"; my $mailresult = &Apache::resetpw::send_mail($domdesc,$data{'email'}, $mailmsg,$contact_name, $contact_email); @@ -1179,42 +1182,54 @@ sub print_dataentry_form { my ($lextkey,$uextkey) = &getkeys($lkey,$ukey); my $logtoken=Apache::lonnet::reply('tmpput:'.$ukey.$lkey.'&createaccount:createaccount', $lonhost); - $output .= + my $showsubmit = 1; + my $serverform = ''."\n". - ''.&mt('Fields marked [_1]*[_2] are required.','','').'
'; + my $endclientform; + unless ($showsubmit) { + if ($usertype ne '') { + $endclientform = ''."\n"; + } + } + $endclientform .= ''."\n". + ''."\n". + ''."\n". + ''."\n"; my ($datatable,$rowcount) = &Apache::loncreateuser::personal_data_display('',$domain,'email','selfcreate', '','',$now,$captchaform, $emailusername,$usertype, - $usernameset,$condition,$excluded); + $usernameset,$condition,$excluded, + $showsubmit); if ($rowcount) { - $output .= ''. + &mt('Fields marked [_1]*[_2] are required.','',''). + '
'; } else { $output = &mt('Could not load javascript file [_1]','londes.js'); } @@ -1405,7 +1428,7 @@ sub create_account { unless (($inststatus eq 'default') || ($inststatus eq '')) { &Apache::lonnet::put('environment',{inststatus => $inststatus},$domain,$username); } - $output .= '