--- loncom/interface/createaccount.pm 2008/07/13 17:57:58 1.19 +++ loncom/interface/createaccount.pm 2008/07/14 08:26:57 1.20 @@ -3,7 +3,7 @@ # institutional log-in ID (institutional authentication required - localauth # or kerberos) or an e-mail address. # -# $Id: createaccount.pm,v 1.19 2008/07/13 17:57:58 raeburn Exp $ +# $Id: createaccount.pm,v 1.20 2008/07/14 08:26:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -87,16 +87,39 @@ sub handler { $r->print($start_page."\n".'
'.&mt('Please either [_1]continue the current session[_2] or [_3]logout[_4].','','','',''). '
'.$end_page); - return OK; + return OK; } - $start_page = - &Apache::loncommon::start_page('Create a user account in LON-CAPA','', - {'no_inline_link' => 1,}); - if ($env{'form.phase'} eq 'username_activation') { + + my $courseid; + if (defined($env{'form.courseid'})) { + $courseid = &validate_course($env{'form.courseid'}); + } + if ($env{'form.phase'} eq 'selfenroll_login') { if ($env{'form.udom'} ne '') { $domain = $env{'form.udom'}; } + my ($result,$output) = + &username_validation($r,$env{'form.uname'},$domain,$domdesc, + + $contact_name,$contact_email,$courseid, + $lonhost); + if ($result eq 'existingaccount') { + $r->print($output); + $r->print(&Apache::loncommon::end_page()); + return OK; + } else { + $start_page = + &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course','', + {'no_inline_link' => 1,}); + &print_header($r,$start_page); + $r->print($output.&Apache::loncommon::end_page()); + return OK; + } } + + $start_page = + &Apache::loncommon::start_page('Create a user account in LON-CAPA','', + {'no_inline_link' => 1,}); my @cancreate; my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$domain); if (ref($domconfig{'usercreation'}) eq 'HASH') { @@ -120,11 +143,6 @@ sub handler { return OK; } - my $courseid; - if (defined($env{'form.courseid'})) { - $courseid = &validate_course($env{'form.courseid'}); - } - if ($sso_username ne '') { &print_header($r,$start_page); my ($msg,$sso_logout); @@ -325,31 +343,10 @@ sub print_username_form { my %domdefaults = &Apache::lonnet::get_domain_defaults($domain); if ((($domdefaults{'auth_def'} =~/^krb/) && ($domdefaults{'auth_arg_def'} ne '')) || ($domdefaults{'auth_def'} eq 'localauth')) { $output = '