--- loncom/auth/lonroles.pm 2004/11/14 18:27:08 1.110
+++ loncom/auth/lonroles.pm 2004/11/23 07:29:24 1.112
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.110 2004/11/14 18:27:08 raeburn Exp $
+# $Id: lonroles.pm,v 1.112 2004/11/23 07:29:24 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -135,6 +135,13 @@ sub handler {
if ($tstatus eq 'is') {
$where=~s/^\///;
my ($cdom,$cnum,$csec)=split(/\//,$where);
+# store role if recent_role list being kept
+ if ($ENV{'environment.recentroles'}) {
+ &Apache::lonhtmlcommon::store_recent('roles',
+ $trolecode,' ');
+ }
+
+
# check for keyed access
if (($role eq 'st') &&
($ENV{'course.'.$cdom.'_'.$cnum.'.keyaccess'} eq 'yes')) {
@@ -556,7 +563,6 @@ ENDHEADER
$sortkey=$role.$twhere;
}
- $roletext.='
';
$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;}
@@ -604,8 +610,28 @@ ENDHEADER
}
if ($haverole) { $doheaders++; }
}
+
+ if ($ENV{'environment.recentroles'}) {
+ my %recent_roles =
+ &Apache::lonhtmlcommon::get_recent('roles',$ENV{'environment.recentrolesn'});
+ my $output='';
+ foreach (sort(keys(%recent_roles))) {
+ if (defined($roletext{'user.role.'.$_})) {
+ $output.=$roletext{'user.role.'.$_};
+ }
+ }
+ if ($output) {
+ $r->print("
".
+ &mt('Recent Roles')." | ");
+ $r->print($output);
+ $r->print("
");
+ }
+ }
+
if ($numdc > 0) {
&display_recent_roles($r,\%roletext,\%recentroles);
+ $r->print(&coursepick_jscript());
+ $r->print(&Apache::loncommon::coursebrowser_javascript());
}
foreach my $type ('Construction Space','Course','Domain','System') {
my $output;
@@ -622,7 +648,7 @@ ENDHEADER
if ($output) {
if ($doheaders > 0) {
$r->print("".
- "".&mt($type)." | ");
+ "".&mt($type)." |
");
}
$r->print($output);
}
@@ -743,7 +769,7 @@ sub role_status {
sub build_roletext {
my ($trolecode,$tdom,$trest,$tstatus,$tryagain,$advanced,$tremark,$tbg,$tfont,$trole,$ttype,$twhere,$tpstart,$tpend,$nochoose,$button,$switchserver) = @_;
- my $roletext='';
+ my $roletext='
';
unless ($nochoose) {
if (!$button) {
if ($switchserver) {
@@ -818,26 +844,23 @@ sub check_fordc {
sub courselink {
my ($dcdom) = @_;
- my $cb_jscript = &Apache::loncommon::coursebrowser_javascript($dcdom,$dcdom);
- my $verify_script = &coursepick_jscript($dcdom);
my $courseform=&Apache::loncommon::selectcourse_link
- ('rolechoice','dccourse_'.$dcdom,'dcdomain_'.$dcdom,'coursedesc_'.$dcdom);
+ ('rolechoice','dccourse_'.$dcdom,'dcdomain_'.$dcdom,'coursedesc_'.$dcdom,$dcdom);
my $hiddenitems = ''.
''.
''.
'';
- return $cb_jscript.$verify_script.$courseform.$hiddenitems;
+ return $courseform.$hiddenitems;
}
sub coursepick_jscript {
- my ($dcdom) = @_;
my $verify_script = <<"END";