--- loncom/auth/lonroles.pm 2001/01/17 17:26:01 1.21
+++ loncom/auth/lonroles.pm 2001/05/25 19:38:42 1.25
@@ -8,7 +8,9 @@
# 09/04,09/06,09/28,09/29,09/30,10/2,10/5,10/26,10/28,
# 12/08,12/28,
# 01/15/01 Gerd Kortemeyer
-#
+# 02/27/01 Scott Harrison
+# 03/02,05/03,05/25 Gerd Kortemeyer
+
package Apache::lonroles;
use strict;
@@ -56,7 +58,7 @@ sub handler {
my ($cdom,$cnum,$csec)=split(/\//,$where);
&Apache::lonnet::appenv('request.role' => $trolecode,
'request.course.sec' => $csec);
- if ($cnum) {
+ if (($cnum) && ($role ne 'ca')) {
my ($furl,$ferr)=
&Apache::lonuserstate::readmap($cdom.'/'.$cnum);
if (($ENV{'form.orgurl'}) &&
@@ -128,6 +130,11 @@ ENDHEADER
$r->print("Action : $msg\n
");
} else {
$r->print("LON-CAPA User Roles
");
+ if ($ENV{'user.error.msg'}) {
+ $r->print(
+ 'You need to choose another user role or '.
+ 'enter a specific course for this function
');
+ }
}
# -------------------------------------------------------- Choice or no choice?
if ($nochoose) {
@@ -180,8 +187,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) {
@@ -217,6 +227,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;
@@ -233,6 +248,7 @@ ENDHEADER
$ENV{'course.'.$tcourseid.'.description'}=$twhere;
}
}
+ }
} elsif ($tdom) {
$ttype='Domain';
$twhere=$tdom;
@@ -277,9 +293,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'}\./) {
@@ -290,11 +306,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;