--- loncom/auth/lonroles.pm 2005/07/08 10:39:49 1.126
+++ loncom/auth/lonroles.pm 2005/11/08 21:54:03 1.132
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.126 2005/07/08 10:39:49 www Exp $
+# $Id: lonroles.pm,v 1.132 2005/11/08 21:54:03 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -50,7 +50,8 @@ sub redirect_user {
my $swinfo=&Apache::lonmenu::rawconfig();
my $navwindow;
if ($launch_nav eq 'on') {
- $navwindow.=&Apache::lonnavmaps::launch_win('now');
+ $navwindow.=&Apache::lonnavmaps::launch_win('now',undef,undef,
+ ($url eq '/adm/whatsnew'));
} else {
$navwindow.=&Apache::lonnavmaps::close();
}
@@ -243,7 +244,7 @@ ENDENTERKEY
"request.course.id" => $cdom.'_'.$cnum);
$furl='/adm/roles?tryagain=1';
$msg=
- '
'.
+ ''.
&mt('Could not initialize course at this time.').
' '.&mt('Please try again.').' '.$ferr;
}
@@ -361,7 +362,7 @@ ENDHEADER
} else {
if ($env{'user.error.msg'}) {
$r->print(
- ''.
+ ''.
&mt('You need to choose another user role or enter a specific course for this function').' ');
}
}
@@ -430,34 +431,28 @@ ENDHEADER
$tstatus='selected';
}
my $tbg;
- my $tbghigh;
if (($tstatus eq 'is') || ($tstatus eq 'selected') ||
($env{'form.showall'})) {
if ($tstatus eq 'is') {
$tbg='#77FF77';
- $tbghigh='#99CC77';
$tfont='#003300';
$possiblerole=$trolecode;
$countactive++;
} elsif ($tstatus eq 'future') {
$tbg='#FFFF77';
- $tbghigh='#DDDD55';
$button=0;
} elsif ($tstatus eq 'will') {
$tbg='#FFAA77';
$tremark.=&mt('Active at next login. ');
} elsif ($tstatus eq 'expired') {
$tbg='#FF7777';
- $tbghigh='#EE9955';
$tfont='#330000';
$button=0;
} elsif ($tstatus eq 'will_not') {
$tbg='#AAFF77';
- $tbghigh='#BBDD55';
$tremark.=&mt('Expired after logout. ');
} elsif ($tstatus eq 'selected') {
$tbg='#11CC55';
- $tbghigh='339944';
$tfont='#002200';
$inrole=1;
$countactive++;
@@ -466,7 +461,8 @@ ENDHEADER
my $trole;
if ($role =~ /^cr\//) {
my ($rdummy,$rdomain,$rauthor,$rrole)=split(/\//,$role);
- $tremark.=' '.&mt('Defined by ').$rauthor.
+ if ($tremark) { $tremark.=' '; }
+ $tremark.=&mt('Defined by ').$rauthor.
&mt(' at ').$rdomain.'.';
$trole=$rrole;
} else {
@@ -484,11 +480,7 @@ ENDHEADER
foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
if (!$allowed) {
$button=0;
- $switchserver=&Apache::lonnet::escape('http://'.
- $Apache::lonnet::hostname{$home}.
- '/adm/login?domain='.$env{'user.domain'}.
- '&username='.$env{'user.name'}.
- '&firsturl=/priv/'.$trest.'/');
+ $switchserver='otherserver='.$home.'&role='.$trolecode;
}
#next if ($home eq 'no_host');
$home = $Apache::lonnet::hostname{$home};
@@ -563,7 +555,7 @@ ENDHEADER
$sortkey=$role.$twhere;
}
- $roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tbghigh,$tfont,$trole,$ttype,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver);
+ $roletext.=&build_roletext($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$ttype,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver);
$roletext{$envkey}=$roletext;
if (!$sortkey) {$sortkey=$twhere."\0".$envkey;}
$sortrole{$sortkey}=$envkey;
@@ -598,10 +590,9 @@ ENDHEADER
$r->print('');
unless ($nochoose) { $r->print(' '); }
$r->print(''.&mt('User Role').' '.&mt('Extent').
- ' '.&mt('Start').' '.&mt('End').' '.
- &mt('Remarks and Calendar Announcements').' '."\n");
+ ''.&mt('Start').' '.&mt('End').' '."\n");
my $doheaders=-1;
- foreach my $type ('Construction Space','Course','Domain','System') {
+ foreach my $type ('Domain','Construction Space','Course','System') {
my $haverole=0;
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) {
if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) {
@@ -625,7 +616,7 @@ ENDHEADER
}
}
if ($output) {
- $r->print("".
+ $r->print("".
&mt('Recent Roles')." ");
$r->print($output);
$r->print(" ");
@@ -637,7 +628,7 @@ ENDHEADER
$r->print(&coursepick_jscript());
$r->print(&Apache::loncommon::coursebrowser_javascript());
}
- foreach my $type ('Construction Space','Course','Domain','System') {
+ foreach my $type ('Construction Space','Domain','Course','System') {
my $output;
foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) {
if ($roleclass{$sortrole{$which}} =~ /^\Q$type\E/) {
@@ -652,7 +643,7 @@ ENDHEADER
if ($output) {
if ($doheaders > 0) {
$r->print("".
- "".&mt($type)." ");
+ " ".&mt($type)." ");
}
$r->print($output);
}
@@ -674,7 +665,7 @@ ENDHEADER
$r->print(' ');
}
}
- $r->print(''.&mt('No role specified').
+ $r->print(' '.&mt('No role specified').
' '.$tremark.
' '."\n");
@@ -684,7 +675,7 @@ ENDHEADER
}
# ------------------------------------------------------------ Privileges Info
if (($advanced) && (($env{'user.error.msg'}) || ($error))) {
- $r->print('Current Privileges ');
+ $r->print('Current Privileges ');
foreach $envkey (sort keys %env) {
if ($envkey=~/^user\.priv\.$env{'request.role'}\./) {
@@ -772,42 +763,48 @@ sub role_status {
}
sub build_roletext {
- my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tbghigh,$tfont,$trole,$ttype,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver) = @_;
- my $roletext='';
+ my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$ttype,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver) = @_;
+ my $roletext=' ';
+ my $is_dc=($trolecode =~ m/^dc\./);
+ my $rowspan=($is_dc) ? ''
+ : ' rowspan="2" ';
+
unless ($nochoose) {
if (!$button) {
if ($switchserver) {
- $roletext.=''.&mt('Switch Server').' ';
} else {
$roletext.=(' ');
}
} elsif ($tstatus eq 'is') {
- $roletext.=(' ');
} elsif ($tryagain) {
$roletext.=
- ' ';
} elsif ($advanced) {
$roletext.=
- ' ';
} else {
- $roletext.=' ';
+ $roletext.=' ';
}
}
$tremark.=&Apache::lonannounce::showday(time,1,
&Apache::lonannounce::readcalendar($tdom.'_'.$trest));
-
$roletext.=''.$trole.
' '.$twhere.
' '.$tpstart.
' '.$tpend.
- ' '.$tremark.
- ' '."\n";
+ '';
+ if (!$is_dc) {
+ $roletext.=''.$tremark.
+ ' '."\n";
+ }
return $roletext;
}
@@ -904,7 +901,7 @@ function process_pick(dom) {
if (pickedCourse != '') {
if (numbutton != -1) {
var courseTarget = "cc./"+pickedDomain+"/"+pickedCourse
- opener.document.rolechoice.elements[numbutton+1].name = courseTarget
+ opener.document.rolechoice.elements[numbutton].name = courseTarget
opener.document.rolechoice.submit()
}
}
@@ -938,7 +935,6 @@ sub display_cc_role {
my $trole = Apache::lonnet::plaintext('cc');
my $twhere;
my $tbg='#77FF77';
- my $tbghigh='#99CC77';
my $tfont='#003300';
my %newhash=&Apache::lonnet::coursedescription($tcourseid);
if (%newhash) {
@@ -951,7 +947,7 @@ sub display_cc_role {
$env{'course.'.$tcourseid.'.description'}=$twhere;
}
$twhere.=" ".&mt('Domain').":".$1;
- $roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$tbghigh,$tfont,$trole,&mt('Course'),$twhere,'','','',1,'');
+ $roletext = &build_roletext($trolecode,$1,$2,'is',$tryagain,$advanced,'',$tbg,$tfont,$trole,&mt('Course'),$twhere,'','','',1,'');
}
}
return $roletext;
@@ -961,19 +957,14 @@ sub allcourses_row {
my $dcdom = shift;
my $ccrole = Apache::lonnet::plaintext('cc');
my $selectlink = &courselink($dcdom);
- my $output = ''.
- ' '.
- ' '.
- ''.
- $ccrole.' '.
- ''.&mt('All courses').': '.
- $selectlink.' '.
- ' '.&mt('Domain').':'.$dcdom.' '.
- ''.
- &mt('Course Coordinator access to all courses in domain').
- ': '.$dcdom.' '."\n";
+ my $output = ''.
+ ' '.
+ ' '.
+ ''.
+ ''.$ccrole.' '.
+ ' '.$selectlink.' '.
+ ' from '.&mt('Domain').' '.$dcdom.
+ ' '."\n";
return $output;
}