--- loncom/auth/lonroles.pm 2003/03/24 18:46:44 1.55 +++ loncom/auth/lonroles.pm 2003/06/04 22:13:28 1.59 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.55 2003/03/24 18:46:44 albertel Exp $ +# $Id: lonroles.pm,v 1.59 2003/06/04 22:13:28 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,6 +50,7 @@ use Apache::Constants qw(:common); use Apache::File(); use Apache::lonmenu; use Apache::loncommon; +use Apache::lonannounce; sub handler { @@ -72,6 +73,7 @@ sub handler { "request.course.uri" => '', "request.course.sec" => '', "request.role" => 'cm', + "request.role.adv" => $ENV{'user.adv'}, "request.role.domain" => $ENV{'user.domain'}); foreach $envkey (keys %ENV) { next if ($envkey!~/^user\.role\./); @@ -129,9 +131,15 @@ ENDENTERKEY } } } - &Apache::lonnet::appenv('request.role' => $trolecode, - 'request.role.domain' => $cdom, - 'request.course.sec' => $csec); + my $tadv=0; + if (($trolecode!~/^st/) && + ($trolecode!~/^ta/) && + ($trolecode!~/^cm/)) { $tadv=1; } + &Apache::lonnet::appenv( + 'request.role' => $trolecode, + 'request.role.adv' => $tadv, + 'request.role.domain' => $cdom, + 'request.course.sec' => $csec); my $msg='Entering course ...'; if (($cnum) && ($role ne 'ca')) { my ($furl,$ferr)= @@ -148,6 +156,19 @@ ENDENTERKEY $msg= '

Could not initialize top-level map.

'; } + + # Check to see if the user is a CC entering a course + # for the first time + my (undef, undef, $role, $courseid) = split(/\./, $envkey); + if (substr($courseid, 0, 1) eq '/') { + $courseid = substr($courseid, 1); + } + $courseid =~ s/\//_/; + if ($role eq 'cc' && $ENV{'course.' . $courseid . + '.course.helper.not.run'}) { + $furl = "/adm/helper/course.initialization.helper"; + } + $r->content_type('text/html'); &Apache::loncommon::no_cache($r); $r->send_http_header; @@ -255,7 +276,7 @@ ENDHEADER $r->print("Author and Co-Author roles may not be available on ". "servers other than your home server."); } else { - $r->print("

Enter a Course

\n"); + $r->print("

Select a Course to Enter

\n"); } if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) { $fn.='?'.$ENV{'REDIRECT_QUERY_STRING'}; @@ -430,6 +451,9 @@ ENDHEADER $r->print(' '); } } + $tremark.=&Apache::lonannounce::showday(time,1, + &Apache::lonannounce::readcalendar($tdom.'_'.$trest)); + $r->print(''.$trole. ''.$ttype. ''.$twhere.