--- loncom/interface/createaccount.pm 2021/09/25 20:35:26 1.83 +++ loncom/interface/createaccount.pm 2022/02/14 01:15:24 1.86 @@ -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.83 2021/09/25 20:35:26 raeburn Exp $ +# $Id: createaccount.pm,v 1.86 2022/02/14 01:15:24 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"; @@ -1181,41 +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'); }