--- loncom/interface/createaccount.pm 2021/01/04 04:42:13 1.72.4.6 +++ loncom/interface/createaccount.pm 2021/12/12 22:10:45 1.72.4.7 @@ -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.72.4.6 2021/01/04 04:42:13 raeburn Exp $ +# $Id: createaccount.pm,v 1.72.4.7 2021/12/12 22:10:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -438,7 +438,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". @@ -1181,42 +1183,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 = '
'; if ($courseid ne '') { - $output .= ''."\n"; + $serverform .= ''."\n"; } if (ref($emailusername) eq 'HASH') { if (ref($emailusername->{$usertype}) eq 'HASH') { foreach my $field (sort(keys(%{$emailusername->{$usertype}}))) { - $output .= ''."\n"; + $serverform .= ''."\n"; } } } if ($captcha eq 'original') { - $output .= ' + $serverform .= ' '; } elsif ($captcha eq 'recaptcha') { if ($recaptchaversion eq '2') { - $output .= "$captchaform\n"; + $serverform .= &Apache::lonhtmlcommon::start_pick_box(). + &Apache::lonhtmlcommon::row_title(&mt('Validation').'*', + 'LC_pick_box_title', + 'LC_oddrow_value')."\n". + $captchaform. + &Apache::lonhtmlcommon::row_closure(1)."\n". + &Apache::lonhtmlcommon::row_title()."\n". + '
'. + &Apache::lonhtmlcommon::row_closure(1)."\n". + &Apache::lonhtmlcommon::end_pick_box(); undef($captchaform); + undef($showsubmit); } else { - $output .= ' + $serverform .= ' '; } } if ($usertype ne '') { - $output .= ''."\n"; + $serverform .= ''."\n"; } if ($usernameset eq 'free') { - $output .= ''."\n"; + $serverform .= ''."\n"; } - $output .= <<"ENDSERVERFORM"; + $serverform .= <<"ENDSERVERFORM"; @@ -1228,25 +1242,33 @@ sub print_dataentry_form { ENDSERVERFORM my $beginclientform = ''."\n"; - my $endclientform = ''."\n". - ''."\n". - ''."\n". - '
'."\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 .= '
'.$beginclientform.$datatable.$endclientform; + $output .= '
'.$beginclientform.$datatable.$endclientform.'
'."\n". + ''."\n"; } else { $output .= $beginclientform.$endclientform; } - if ($rowcount) { - $output .= '
'."\n". - ''."\n"; - } + $output .= $serverform. + '

'. + &mt('Fields marked [_1]*[_2] are required.','',''). + '

'; } else { $output = &mt('Could not load javascript file [_1]','londes.js'); }