--- loncom/auth/lonroles.pm 2002/11/25 16:05:56 1.46
+++ loncom/auth/lonroles.pm 2003/02/03 18:03:52 1.50
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.46 2002/11/25 16:05:56 matthew Exp $
+# $Id: lonroles.pm,v 1.50 2003/02/03 18:03:52 harris41 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -36,9 +36,7 @@
# 12/08,12/28,
# YEAR=2001
# 01/15/01 Gerd Kortemeyer
-# 02/27/01 Scott Harrison
# 03/02,05/03,05/25,05/30,06/01,07/06,08/06 Gerd Kortemeyer
-# 12/21 Scott Harrison
# 12/29 Gerd Kortemeyer
#
###
@@ -150,7 +148,8 @@ ENDREDIR
my $swinfo=&Apache::lonmenu::rawconfig($r);
my $bodytag=&Apache::loncommon::bodytag('User Roles');
- my $helptag=&Apache::loncommon::help_open_topic("General_Intro","HELP");
+ my $helptag=&Apache::loncommon::help_open_topic
+ ("General_Intro","CLICK HERE FOR HELP");
$r->print(<
@@ -240,6 +239,7 @@ ENDHEADER
foreach $envkey (sort keys %ENV) {
my $button = 1;
+ my $switchserver='';
if ($envkey=~/^user\.role\./) {
my (undef,undef,$role,@pwhere)=split(/\./,$envkey);
next if (!defined($role) || $role eq '');
@@ -250,6 +250,7 @@ ENDHEADER
my $tstatus='is';
my $tpstart=' ';
my $tpend=' ';
+ my $tfont='#000000';
if ($tstart) {
if ($tstart>$then) {
$tstatus='future';
@@ -273,18 +274,23 @@ ENDHEADER
($ENV{'form.showall'})) {
if ($tstatus eq 'is') {
$tbg='#77FF77';
+ $tfont='#003300';
} elsif ($tstatus eq 'future') {
$tbg='#FFFF77';
+ $button=0;
} elsif ($tstatus eq 'will') {
$tbg='#FFAA77';
$tremark.='Active at next login. ';
} elsif ($tstatus eq 'expired') {
$tbg='#FF7777';
+ $tfont='#330000';
+ $button=0;
} elsif ($tstatus eq 'will_not') {
$tbg='#AAFF77';
$tremark.='Expired after logout. ';
} elsif ($tstatus eq 'selected') {
$tbg='#11CC55';
+ $tfont='#002200';
$tremark.='Currently selected. ';
}
my $trole;
@@ -302,7 +308,11 @@ ENDHEADER
# First, Co-Authorship roles
if ($role eq 'ca') {
my $home = &Apache::lonnet::homeserver($trest,$tdom);
- $button = 0 if ($home ne $r->dir_config('lonHostID'));
+ if ($home ne $r->dir_config('lonHostID')) {
+ $button=0;
+ $switchserver='http://'.
+ $Apache::lonnet::hostname{$home}.'/priv/'.$trest;
+ }
#next if ($home eq 'no_host');
$home = $Apache::lonnet::hostname{$home};
$ttype='Construction Space';
@@ -313,7 +323,12 @@ ENDHEADER
# Authors
my $home = &Apache::lonnet::homeserver
($ENV{'user.name'},$ENV{'user.domain'});
- $button = 0 if ($home ne $r->dir_config('lonHostID'));
+ if ($home ne $r->dir_config('lonHostID')) {
+ $button=0;
+ $switchserver='http://'.
+ $Apache::lonnet::hostname{$home}.'/priv/'.
+ $ENV{'user.name'};
+ }
#next if ($home eq 'no_host');
$home = $Apache::lonnet::hostname{$home};
$ttype='Construction Space';
@@ -326,15 +341,20 @@ ENDHEADER
}
my $tcourseid=$tdom.'_'.$trest;
if ($ENV{'course.'.$tcourseid.'.description'}) {
- $twhere=
-&Apache::loncommon::syllabuswrapper($ENV{'course.'.$tcourseid.'.description'},
-$trest,$tdom);
+ $twhere=$ENV{'course.'.$tcourseid.'.description'};
+ unless ($twhere eq 'Currently not available') {
+ $twhere.=' '.
+ &Apache::loncommon::syllabuswrapper('Syllabus',$trest,$tdom,$tfont).
+ '';
+ }
} else {
my %newhash=Apache::lonnet::coursedescription
($tcourseid);
if (%newhash) {
- $twhere=
-&Apache::loncommon::syllabuswrapper($newhash{'description'},$trest,$tdom);
+ $twhere=$newhash{'description'}.
+ ' '.
+ &Apache::loncommon::syllabuswrapper('Syllabus',$trest,$tdom,$tfont).
+ '';
} else {
$twhere='Currently not available';
$ENV{'course.'.$tcourseid.'.description'}=$twhere;
@@ -353,7 +373,12 @@ $trest,$tdom);
$r->print('');
unless ($nochoose) {
if (!$button) {
- $r->print(' | ');
+ if ($switchserver) {
+ $r->print('Switch Server | ');
+ } else {
+ $r->print(' | ');
+ }
} elsif ($tstatus eq 'is') {
$r->print(' | ');
@@ -365,17 +390,22 @@ $trest,$tdom);
$r->print(' | ');
}
}
- $r->print(''.$trole.' | '.
- $ttype.' | '.$twhere.' | '.$tpstart.
- ' | '.$tpend.
- ' | '.$tremark.' |
'."\n");
+ $r->print(''.$trole.
+ ' | '.$ttype.
+ ' | '.$twhere.
+ ' | '.$tpstart.
+ ' | '.$tpend.
+ ' | '.$tremark.
+ ' | '."\n");
}
}
}
my $tremark='';
+ my $tfont='#003300';
if ($ENV{'request.role'} eq 'cm') {
$r->print('');
$tremark='Currently selected.';
+ $tfont='#002200';
} else {
$r->print('
');
}
@@ -386,8 +416,9 @@ $trest,$tdom);
$r->print(' | ');
}
}
- $r->print('No role specified'.
- ' | '.$tremark.' |
'."\n");
+ $r->print('No role specified'.
+ ' | '.$tremark.
+ ' | '."\n");
$r->print('');
unless ($nochoose) {