--- loncom/auth/lonroles.pm 2002/02/01 12:54:51 1.34
+++ loncom/auth/lonroles.pm 2002/05/04 02:30:00 1.35
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.34 2002/02/01 12:54:51 albertel Exp $
+# $Id: lonroles.pm,v 1.35 2002/05/04 02:30:00 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -208,7 +208,13 @@ ENDHEADER
}
} else {
if ($advanced) {
- $r->print("
Select a User Role
\n");
+ $r->print
+ ("
$ENV{'user.name'}, Please Select a Role
\n");
+ $r->print("Your home server is ".
+ $Apache::lonnet::hostname{&Apache::lonnet::homeserver
+ ($ENV{'user.name'},$ENV{'user.domain'})}." \n");
+ $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");
}
@@ -229,6 +235,7 @@ ENDHEADER
'
Start
End
Remark
'."\n");
foreach $envkey (sort keys %ENV) {
+ my $button = 1;
if ($envkey=~/^user\.role\./) {
my ($dum1,$dum2,$role,@pwhere)=split(/\./,$envkey);
my $where=join('.',@pwhere);
@@ -240,16 +247,16 @@ ENDHEADER
my $tpend=' ';
if ($tstart) {
if ($tstart>$then) {
- $tstatus='future';
- if ($tstart<$now) { $tstatus='will'; }
+ $tstatus='future';
+ if ($tstart<$now) { $tstatus='will'; }
}
$tpstart=localtime($tstart);
}
if ($tend) {
if ($tend<$then) {
- $tstatus='expired';
+ $tstatus='expired';
} elsif ($tend<$now) {
- $tstatus='will_not';
+ $tstatus='will_not';
}
$tpend=localtime($tend);
}
@@ -257,83 +264,101 @@ ENDHEADER
$tstatus='selected';
}
my $tbg;
- if (($tstatus eq 'is') || ($tstatus eq 'selected') ||
- ($ENV{'form.showall'})) {
- if ($tstatus eq 'is') {
- $tbg='#77FF77';
- } elsif ($tstatus eq 'future') {
- $tbg='#FFFF77';
- } elsif ($tstatus eq 'will') {
- $tbg='#FFAA77';
- $tremark.='Active at next login. ';
- } elsif ($tstatus eq 'expired') {
- $tbg='#FF7777';
- } elsif ($tstatus eq 'will_not') {
- $tbg='#AAFF77';
- $tremark.='Expired after logout. ';
- } elsif ($tstatus eq 'selected') {
- $tbg='#11CC55';
- $tremark.='Currently selected. ';
- }
- my $trole;
- if ($role =~ /^cr\//) {
- my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$role);
- $tremark.=' Defined by '.$rauthor.' at '.$rdomain.'.';
- $trole=$rrole;
- } else {
- $trole=Apache::lonnet::plaintext($role);
- }
- my $ttype;
- my $twhere;
- 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;
- }
- my $tcourseid=$tdom.'_'.$trest;
- if ($ENV{'course.'.$tcourseid.'.description'}) {
- $twhere=$ENV{'course.'.$tcourseid.'.description'};
+ if (($tstatus eq 'is') || ($tstatus eq 'selected') ||
+ ($ENV{'form.showall'})) {
+ if ($tstatus eq 'is') {
+ $tbg='#77FF77';
+ } elsif ($tstatus eq 'future') {
+ $tbg='#FFFF77';
+ } elsif ($tstatus eq 'will') {
+ $tbg='#FFAA77';
+ $tremark.='Active at next login. ';
+ } elsif ($tstatus eq 'expired') {
+ $tbg='#FF7777';
+ } elsif ($tstatus eq 'will_not') {
+ $tbg='#AAFF77';
+ $tremark.='Expired after logout. ';
+ } elsif ($tstatus eq 'selected') {
+ $tbg='#11CC55';
+ $tremark.='Currently selected. ';
+ }
+ my $trole;
+ if ($role =~ /^cr\//) {
+ my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$role);
+ $tremark.=' Defined by '.$rauthor.' at '.$rdomain.'.';
+ $trole=$rrole;
} else {
- my %newhash=Apache::lonnet::coursedescription($tcourseid);
- if (%newhash) {
- $twhere=$newhash{'description'};
+ $trole=Apache::lonnet::plaintext($role);
+ }
+ my $ttype;
+ my $twhere;
+ my ($tdom,$trest,$tsection)=
+ split(/\//,Apache::lonnet::declutter($where));
+ # First, Co-Authorship roles
+ if ($role eq 'ca') {
+ my $home = &Apache::lonnet::homeserver($trest,$tdom);
+ $button = 0 if ($home ne $r->dir_config('lonHostID'));
+ #next if ($home eq 'no_host');
+ $home = $Apache::lonnet::hostname{$home};
+ $ttype='Construction Space';
+ $twhere='User: '.$trest.' Domain: '.$tdom.' '.
+ ' Server: '.$home;
+ $ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca';
+ } elsif ($role eq 'au') {
+ # Authors
+ my $home = &Apache::lonnet::homeserver
+ ($ENV{'user.name'},$ENV{'user.domain'});
+ $button = 0 if ($home ne $r->dir_config('lonHostID'));
+ #next if ($home eq 'no_host');
+ $home = $Apache::lonnet::hostname{$home};
+ $ttype='Construction Space';
+ $twhere='Domain: '.$tdom.' Server: '.$home;
+ $ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca';
+ } elsif ($trest) {
+ $ttype='Course';
+ if ($tsection) {
+ $ttype.=' Section/Group: '.$tsection;
+ }
+ my $tcourseid=$tdom.'_'.$trest;
+ if ($ENV{'course.'.$tcourseid.'.description'}) {
+ $twhere=$ENV{'course.'.$tcourseid.'.description'};
} else {
- $twhere='Currently not available';
- $ENV{'course.'.$tcourseid.'.description'}=$twhere;
+ my %newhash=Apache::lonnet::coursedescription
+ ($tcourseid);
+ if (%newhash) {
+ $twhere=$newhash{'description'};
+ } else {
+ $twhere='Currently not available';
+ $ENV{'course.'.$tcourseid.'.description'}=$twhere;
+ }
+ if ($trole ne 'st') {
+ $twhere.=" Domain:".$tdom;
+ }
}
- if ($trole ne 'st') {
- $twhere.=" Domain:".$tdom;
- }
- }
- }
- } elsif ($tdom) {
- $ttype='Domain';
- $twhere=$tdom;
- } else {
- $ttype='System';
- $twhere='system wide';
- }
-
- $r->print('