--- loncom/auth/lonroles.pm 2000/12/28 21:46:08 1.19 +++ loncom/auth/lonroles.pm 2001/05/03 17:54:12 1.24 @@ -6,8 +6,11 @@ # 11/23 Gerd Kortemeyer) # 1/14,03/06,06/01,07/22,07/24,07/25, # 09/04,09/06,09/28,09/29,09/30,10/2,10/5,10/26,10/28, -# 12/08,12/28 Gerd Kortemeyer -# +# 12/08,12/28, +# 01/15/01 Gerd Kortemeyer +# 02/27/01 Scott Harrison +# 03/02,05/03 Gerd Kortemeyer + package Apache::lonroles; use strict; @@ -58,19 +61,31 @@ sub handler { if ($cnum) { my ($furl,$ferr)= &Apache::lonuserstate::readmap($cdom.'/'.$cnum); - if ($ENV{'form.orgurl'}) { + if (($ENV{'form.orgurl'}) && + ($ENV{'form.orgurl'}!~/^\/adm\/flip/)) { $r->internal_redirect($ENV{'form.orgurl'}); return OK; } else { - $r->internal_redirect($furl); - return OK; + $r->content_type('text/html'); + $r->send_http_header; + print (<Entering Course + + + + +Entering course ... + + +ENDREDIR + return OK; } } } } } } - } + } # =============================================================== No Roles Init @@ -84,6 +99,7 @@ sub handler { LON-CAPA User Roles + ENDHEADER # ------------------------------------------ Get Error Message from Environment @@ -166,8 +182,11 @@ ENDHEADER $tpstart=localtime($tstart); } if ($tend) { - if ($tend<$then) { $tstatus='expired'; } - if ($tend<$now) { $tstatus='will_not'; } + if ($tend<$then) { + $tstatus='expired'; + } elsif ($tend<$now) { + $tstatus='will_not'; + } $tpend=localtime($tend); } if ($ENV{'request.role'} eq $trolecode) { @@ -203,6 +222,11 @@ ENDHEADER my ($tdom,$trest,$tsection)= split(/\//,Apache::lonnet::declutter($where)); if ($trest) { + if ($role eq 'ca') { + $ttype='Construction Space'; + $twhere='User: '.$trest.'
Domain: '.$tdom; + $ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca'; + } else { $ttype='Course'; if ($tsection) { $ttype.='
Section/Group: '.$tsection; @@ -219,6 +243,7 @@ ENDHEADER $ENV{'course.'.$tcourseid.'.description'}=$twhere; } } + } } elsif ($tdom) { $ttype='Domain'; $twhere=$tdom; @@ -263,9 +288,9 @@ ENDHEADER unless ($nochoose) { $r->print("\n"); } -# ------------------------------------------------------------ Priviledges Info +# ------------------------------------------------------------ Privileges Info if ($advanced) { - $r->print('

Current Priviledges

'); + $r->print('

Current Privileges

'); foreach $envkey (sort keys %ENV) { if ($envkey=~/^user\.priv\.$ENV{'request.role'}\./) { @@ -276,11 +301,16 @@ ENDHEADER my ($tdom,$trest,$tsec)= split(/\//,Apache::lonnet::declutter($where)); if ($trest) { + if ($ENV{'course.'.$tdom.'_'.$trest.'.description'} eq 'ca') { + $ttype='Construction Space'; + $twhere='User: '.$trest.', Domain: '.$tdom; + } else { $ttype='Course'; $twhere=$ENV{'course.'.$tdom.'_'.$trest.'.description'}; if ($tsec) { $twhere.=' (Section/Group: '.$tsec.')'; } + } } elsif ($tdom) { $ttype='Domain'; $twhere=$tdom;