--- loncom/auth/lonroles.pm 2001/03/03 00:55:36 1.23
+++ loncom/auth/lonroles.pm 2001/05/25 19:38:42 1.25
@@ -9,7 +9,7 @@
# 12/08,12/28,
# 01/15/01 Gerd Kortemeyer
# 02/27/01 Scott Harrison
-# 03/02 Gerd Kortemeyer
+# 03/02,05/03,05/25 Gerd Kortemeyer
package Apache::lonroles;
@@ -58,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'}) &&
@@ -130,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) {
@@ -222,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;
@@ -238,6 +248,7 @@ ENDHEADER
$ENV{'course.'.$tcourseid.'.description'}=$twhere;
}
}
+ }
} elsif ($tdom) {
$ttype='Domain';
$twhere=$tdom;
@@ -295,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;