--- loncom/auth/lonroles.pm 2005/11/11 18:47:09 1.134
+++ loncom/auth/lonroles.pm 2005/12/15 23:31:22 1.138
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.134 2005/11/11 18:47:09 www Exp $
+# $Id: lonroles.pm,v 1.138 2005/12/15 23:31:22 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -126,6 +126,11 @@ sub handler {
if ($tstatus eq 'is') {
$where=~s/^\///;
my ($cdom,$cnum,$csec)=split(/\//,$where);
+# check for course groups
+ my %coursegroups = &Apache::lonnet::get_active_groups(
+ $env{'user.domain'},$env{'user.name'},$cdom, $cnum);
+ my $cgrps = join(':',keys(%coursegroups));
+
# store role if recent_role list being kept
if ($env{'environment.recentroles'}) {
&Apache::lonhtmlcommon::store_recent('roles',
@@ -227,7 +232,8 @@ ENDENTERKEY
&Apache::lonnet::appenv(
'request.role' => $trolecode,
'request.role.domain' => $cdom,
- 'request.course.sec' => $csec);
+ 'request.course.sec' => $csec,
+ 'request.course.groups' => $cgrps);
my $tadv=0;
my $msg=&mt('Entering course ...');
@@ -316,6 +322,7 @@ ENDENTERKEY
my $swinfo=&Apache::lonmenu::rawconfig();
my $bodytag=&Apache::loncommon::bodytag('User Roles');
my $standby=&mt('Role selected. Please stand by.');
+ $standby=~s/\n/\\n/g;
my $helptag='
'.&Apache::loncommon::help_open_menu('','General Intro','General_Intro','User Roles',1,undef,undef,undef,undef,,&mt("Click here for help")).' |
';
$r->print(<
@@ -435,7 +442,7 @@ ENDHEADER
if ($envkey=~/^user\.role\./) {
my ($role,$where,$trolecode,$tstart,$tend,$tremark,$tstatus,$tpstart,$tpend,$tfont);
&role_status($envkey,$then,$now,\$role,\$where,\$trolecode,\$tstatus,\$tstart,\$tend);
- next if (!defined($role) || $role eq '');
+ next if (!defined($role) || $role eq '' || $role =~ /^gr/);
$tremark='';
$tpstart=' ';
$tpend=' ';
@@ -629,7 +636,7 @@ ENDHEADER
if (defined($roletext{'user.role.'.$_})) {
$output.=$roletext{'user.role.'.$_};
if ($_ =~ m-dc\./(\w+)/- && $dcroles{$1}) {
- $output .= &allcourses_row($1);
+ $output .= &allcourses_row($1,'recent');
}
} elsif ($numdc > 0) {
unless ($_ =~/^error\:/) {
@@ -657,7 +664,7 @@ ENDHEADER
$output.=$roletext{$sortrole{$which}};
if ($sortrole{$which} =~ m-dc\./(\w+)/-) {
if ($dcroles{$1}) {
- $output .= &allcourses_row($1);
+ $output .= &allcourses_row($1,'');
}
}
}
@@ -869,13 +876,13 @@ sub check_fordc {
}
sub courselink {
- my ($dcdom) = @_;
+ my ($dcdom,$rowtype) = @_;
my $courseform=&Apache::loncommon::selectcourse_link
- ('rolechoice','dccourse_'.$dcdom,'dcdomain_'.$dcdom,'coursedesc_'.$dcdom,$dcdom);
- my $hiddenitems = ''.
- ''.
- ''.
- '';
+ ('rolechoice','dccourse'.$rowtype.'_'.$dcdom,'dcdomain'.$rowtype.'_'.$dcdom,'coursedesc'.$rowtype.'_'.$dcdom,$dcdom);
+ my $hiddenitems = ''.
+ ''.
+ ''.
+ '';
return $courseform.$hiddenitems;
}
@@ -916,34 +923,26 @@ END
}
sub processpick {
- my $dcdom = shift;
my $process_pick = <<"END";
END
return $process_pick;
@@ -980,12 +979,10 @@ sub display_cc_role {
}
sub allcourses_row {
- my $dcdom = shift;
+ my ($dcdom,$rowtype) = @_;
my $ccrole = Apache::lonnet::plaintext('cc');
- my $selectlink = &courselink($dcdom);
+ my $selectlink = &courselink($dcdom,$rowtype);
my $output = ''.
- ''.
- ''.
''.
''.$ccrole.''.
' '.$selectlink.''.
|