--- loncom/auth/lonroles.pm 2000/10/05 19:15:34 1.12
+++ loncom/auth/lonroles.pm 2000/10/26 21:43:18 1.15
@@ -5,7 +5,7 @@
# 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14 Gerd Kortemeyer)
# 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 Gerd Kortemeyer
+# 09/04,09/06,09/28,09/29,09/30,10/2,10/5,10/26 Gerd Kortemeyer
#
package Apache::lonroles;
@@ -27,8 +27,13 @@ sub handler {
# ================================================================== Roles Init
if ($ENV{'form.selectrole'}) {
- foreach $envkey (keys %ENV) {
- if ($envkey=~/^user\.role\./) {
+ &Apache::lonnet::appenv("request.course.id" => '',
+ "request.course.fn" => '',
+ "request.course.uri" => '',
+ "request.course.sec" => '',
+ "request.role" => 'cm');
+ foreach $envkey (keys %ENV) {
+ if ($envkey=~/^user\.role\./) {
my ($dum1,$dum2,$role,@pwhere)=split(/\./,$envkey);
my $where=join('.',@pwhere);
my $trolecode=$role.'.'.$where;
@@ -45,10 +50,12 @@ sub handler {
if ($tend>$now) { $tstatus='will_not'; }
}
if ($tstatus eq 'is') {
- &Apache::lonnet::appenv('request.role' => $trolecode);
- my ($cdom,$cnum)=split(/\//,$where);
+ $where=~s/^\///;
+ my ($cdom,$cnum,$csec)=split(/\//,$where);
+ &Apache::lonnet::appenv('request.role' => $trolecode,
+ 'request.course.sec' => $csec);
if ($cnum) {
- &Apache::lonuserstate::readmap($where);
+ &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
if ($ENV{'form.orgurl'}) {
$r->internal_redirect($ENV{'form.orgurl'});
return OK;
@@ -94,7 +101,7 @@ ENDHEADER
# ---------------------------------------------- Get cached course descriptions
- my %cdes=Apache::lonnet::dump('coursedescriptions');
+ my %cdes=Apache::lonnet::dump('nohist_coursedescriptions');
# -------------------------------------------------------- Generate Page Output
# --------------------------------------------------------------- Error Header?
@@ -193,10 +200,13 @@ ENDHEADER
}
my $ttype;
my $twhere;
- my ($tdom,$trest)=
+ my ($tdom,$trest,$tsection)=
split(/\//,Apache::lonnet::declutter($where));
if ($trest) {
$ttype='Course';
+ if ($tsection) {
+ $ttype.='
Section/Group: '.$tsection;
+ }
my $tcourseid=$tdom.'/'.$trest;
if ($cdes{$tcourseid}) {
$twhere=$cdes{$tcourseid};
@@ -208,7 +218,7 @@ ENDHEADER
$twhere='Currently not available';
}
$cdes{$tcourseid}=$twhere;
- }
+ }
} elsif ($tdom) {
$ttype='Domain';
$twhere=$tdom;
@@ -232,6 +242,22 @@ ENDHEADER
'