--- loncom/interface/selfenroll.pm 2008/07/11 13:43:53 1.9 +++ loncom/interface/selfenroll.pm 2008/07/14 08:32:36 1.10 @@ -1,7 +1,7 @@ # The LearningOnline Network # Allow users to self-enroll in a course # -# $Id: selfenroll.pm,v 1.9 2008/07/11 13:43:53 raeburn Exp $ +# $Id: selfenroll.pm,v 1.10 2008/07/14 08:32:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -33,6 +33,7 @@ use Apache::Constants qw(:common); use Apache::lonnet; use Apache::loncommon; use Apache::lonlocal; +use Apache::createaccount; use LONCAPA qw(:DEFAULT :match); sub handler { @@ -44,6 +45,7 @@ sub handler { } my $handle = &Apache::lonnet::check_for_valid_session($r); my $lonidsdir=$r->dir_config('lonIDsDir'); + my $lonhost = $r->dir_config('lonHostID'); if ($handle ne '') { &Apache::lonnet::transfer_profile_to_env($lonidsdir,$handle); } @@ -51,28 +53,32 @@ sub handler { &Apache::lonlocal::get_language_handle($r); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['cid']); my ($coursechk,$cid) = &validate_course_id($env{'form.cid'}); - my $start_page = - &Apache::loncommon::start_page('Self-enroll in a LON-CAPA course','', - {'no_inline_link' => 1,}); - $r->print($start_page); - &Apache::lonhtmlcommon::clear_breadcrumbs(); - &Apache::lonhtmlcommon::add_breadcrumb - ({href=>"/adm/selfenroll?cid=$cid", - text=>"Self-enroll"}); - $r->print(&Apache::lonhtmlcommon::breadcrumbs('Self-enroll in course')); if ($coursechk ne 'ok') { + &page_header($r,$cid); $r->print('

'.&mt('Self-enrollment error').'

'. - ''.&mt('Invalid domain or course number').''); + ''. + &mt('Invalid domain or course number').''); $r->print(&Apache::loncommon::end_page()); return OK; } - my ($cdom,$cnum,$canenroll,$selfenroll_types,$selfenroll_registered, + my $now = time; + my $js; + if ($env{'form.phase'} eq 'login') { + $js = &Apache::createaccount::javascript_setforms($now); + } + &page_header($r,$cid,$js); + my $include = $r->dir_config('lonIncludes'); + if ($env{'form.phase'} eq 'login') { + my $jsh=Apache::File->new($include."/londes.js"); + $r->print(<$jsh>); + } + my ($cdom,$cnum,$desc,$canenroll,$selfenroll_types,$selfenroll_registered, @cancreate,$knownuser,$selfenroll_access_start,$selfenroll_access_end, $selfenroll_section,$selfenroll_future,%curr_role,%coursehash,$cdomdesc); - my $now = time; %coursehash = &Apache::lonnet::coursedescription($cid); $cdom = $coursehash{'domain'}; $cnum = $coursehash{'num'}; + $desc = $coursehash{'description'}; $selfenroll_types = $coursehash{'internal.selfenroll_types'}; $selfenroll_registered = $coursehash{'internal.selfenroll_registered'}; $selfenroll_section = $coursehash{'internal.selfenroll_section'}; @@ -184,11 +190,22 @@ sub handler { &process_self_enroll($r,$cdom,$cnum,$selfenroll_types,$selfenroll_registered, $selfenroll_access_start,$selfenroll_access_end, $selfenroll_section,$now); + } elsif ($env{'form.phase'} eq 'login') { + my $submit_text = &mt('Log in'); + $r->print('

'.&mt('Log-in to LON-CAPA').'

'); + my $udom = &Apache::lonnet::default_login_domain(); + $r->print(&Apache::createaccount::login_box($now,$lonhost,$cid, + $submit_text,$udom,'selfenroll')); + $r->print(&mt('You will be able to self-enroll in the course you selected ([_1]) after you have successfully logged in.',''.$desc.''). + &Apache::loncommon::end_page()); + return OK; } elsif (@cancreate > 0) { $r->print(< function setPath(formaction,item,arg) { - document.forms.logmein.action = formaction; + if (formaction != '') { + document.forms.logmein.action = formaction; + } var itemid = getIndexByName("setting"); if (itemid > -1) { document.logmein.elements[itemid].name = item; @@ -211,7 +228,7 @@ function getIndexByName(item) { END $r->print('

'.&mt('LON-CAPA account required').'

'. - &mt('You need to be logged into LON-CAPA to self-enroll in a course.').'