--- loncom/auth/lonroles.pm 2003/11/08 12:06:38 1.75
+++ loncom/auth/lonroles.pm 2004/01/27 22:54:59 1.83
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.75 2003/11/08 12:06:38 albertel Exp $
+# $Id: lonroles.pm,v 1.83 2004/01/27 22:54:59 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -202,7 +202,7 @@ ENDENTERKEY
}
#
# Send the user to the course they selected
- &redirect_user($r,'Entering Course',
+ &redirect_user($r,&mt('Entering Course'),
$furl,$msg);
return OK;
}
@@ -218,7 +218,7 @@ ENDENTERKEY
$redirect_url .= $1;
}
$redirect_url .= '/';
- &redirect_user($r,'Entering Construction Space',
+ &redirect_user($r,&mt('Entering Construction Space'),
$redirect_url);
return OK;
}
@@ -237,8 +237,10 @@ ENDENTERKEY
my $swinfo=&Apache::lonmenu::rawconfig();
my $bodytag=&Apache::loncommon::bodytag('User Roles');
- my $helptag=&Apache::loncommon::help_open_topic
- ("General_Intro","Click here for help");
+ my $helptag='
'.&Apache::loncommon::help_open_topic
+ ("General_Intro",&mt("Click here for help")).' | '.
+ &Apache::loncommon::help_open_faq(1,&mt('Click here for FAQ')).' | '.
+ &Apache::loncommon::help_open_bug('',&mt('Click here to report bugs')).' |
';
$r->print(<
@@ -402,7 +404,10 @@ ENDHEADER
# First, Co-Authorship roles
if ($role eq 'ca') {
my $home = &Apache::lonnet::homeserver($trest,$tdom);
- if ($home ne $r->dir_config('lonHostID')) {
+ my $allowed=0;
+ my @ids=&Apache::lonnet::current_machine_ids();
+ foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
+ if (!$allowed) {
$button=0;
$switchserver=&Apache::lonnet::escape('http://'.
$Apache::lonnet::hostname{$home}.
@@ -412,17 +417,21 @@ ENDHEADER
}
#next if ($home eq 'no_host');
$home = $Apache::lonnet::hostname{$home};
- $ttype=&mt('Construction Space');
+ $ttype='Construction Space';
$twhere=&mt('User').': '.$trest.'
'.&mt('Domain').
': '.$tdom.'
'.
' '.&mt('Server').': '.$home;
$ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca';
+ $tremark.=&Apache::lonhtmlcommon::authorbombs('/res/'.$tdom.'/'.$trest.'/');
$sortkey=$role."$trest:$tdom";
} elsif ($role eq 'au') {
# Authors
my $home = &Apache::lonnet::homeserver
($ENV{'user.name'},$ENV{'user.domain'});
- if ($home ne $r->dir_config('lonHostID')) {
+ my $allowed=0;
+ my @ids=&Apache::lonnet::current_machine_ids();
+ foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
+ if (!$allowed) {
$button=0;
$switchserver=&Apache::lonnet::escape('http://'.
$Apache::lonnet::hostname{$home}.
@@ -432,20 +441,21 @@ ENDHEADER
}
#next if ($home eq 'no_host');
$home = $Apache::lonnet::hostname{$home};
- $ttype=&mt('Construction Space');
+ $ttype='Construction Space';
$twhere=&mt('Domain').': '.$tdom.'
'.&mt('Server').
': '.$home;
$ENV{'course.'.$tdom.'_'.$trest.'.description'}='ca';
+ $tremark.=&Apache::lonhtmlcommon::authorbombs('/res/'.$tdom.'/'.$ENV{'user.name'}.'/');
$sortkey=$role;
} elsif ($trest) {
- $ttype=&mt('Course');
+ $ttype='Course';
if ($tsection) {
$ttype.='
'.&mt('Section/Group').': '.$tsection;
}
my $tcourseid=$tdom.'_'.$trest;
if ($ENV{'course.'.$tcourseid.'.description'}) {
$twhere=$ENV{'course.'.$tcourseid.'.description'};
- $sortkey=$twhere."\0".$envkey;
+ $sortkey=$role."\0".$tdom."\0".$twhere."\0".$envkey;
unless ($twhere eq &mt('Currently not available')) {
$twhere.=' '.
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont).
@@ -455,7 +465,8 @@ ENDHEADER
my %newhash=Apache::lonnet::coursedescription
($tcourseid);
if (%newhash) {
- $sortkey=$newhash{'description'}."\0".$envkey;
+ $sortkey=$role."\0".$tdom."\0".$newhash{'description'}.
+ "\0".$envkey;
$twhere=$newhash{'description'}.
' '.
&Apache::loncommon::syllabuswrapper(&mt('Syllabus'),$trest,$tdom,$tfont).
@@ -463,16 +474,16 @@ ENDHEADER
} else {
$twhere=&mt('Currently not available');
$ENV{'course.'.$tcourseid.'.description'}=$twhere;
- $sortkey=$twhere."\0".$envkey;
+ $sortkey=$role."\0".$tdom."\0".$twhere."\0".$envkey;
}
}
if ($role ne 'st') { $twhere.="
".&mt('Domain').":".$tdom; }
} elsif ($tdom) {
- $ttype=&mt('Domain');
+ $ttype='Domain';
$twhere=$tdom;
$sortkey=$role.$twhere;
} else {
- $ttype=&mt('System');
+ $ttype='System';
$twhere=&mt('system wide');
$sortkey=$role.$twhere;
}
@@ -519,12 +530,30 @@ ENDHEADER
}
}
}
+ my $doheaders=-1;
foreach my $type ('Construction Space','Course','Domain','System') {
+ my $haverole=0;
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) {
if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) {
- $r->print($roletext{$sortrole{$which}});
+ $haverole=1;
}
}
+ if ($haverole) { $doheaders++; }
+ }
+ foreach my $type ('Construction Space','Course','Domain','System') {
+ my $output;
+ foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) {
+ if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) {
+ $output.=&mt($roletext{$sortrole{$which}});
+ }
+ }
+ if ($output) {
+ if ($doheaders > 0) {
+ $r->print("".
+ "".&mt($type)." | ");
+ }
+ $r->print($output);
+ }
}
my $tremark='';
my $tfont='#003300';