--- loncom/interface/lonpickstudent.pm 2006/03/16 21:34:04 1.13
+++ loncom/interface/lonpickstudent.pm 2006/05/30 20:16:59 1.18
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a student from the classlist
#
-# $Id: lonpickstudent.pm,v 1.13 2006/03/16 21:34:04 albertel Exp $
+# $Id: lonpickstudent.pm,v 1.18 2006/05/30 20:16:59 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -34,6 +34,7 @@ use Apache::loncommon;
use Apache::loncoursedata;
use Apache::lonnet;
use Apache::lonlocal;
+use Apache::longroup;
sub handler {
my $r = shift;
@@ -76,11 +77,7 @@ sub handler {
my $classlist=&Apache::loncoursedata::get_classlist();
my %grouplist=&Apache::lonnet::get_group_membership($cdom,$cnum);
my $now = time;
- my %allgroups;
- my @coursegroups = ();
- if (&Apache::loncommon::coursegroups(\%allgroups,$cdom,$cnum)) {
- @coursegroups = keys(%allgroups);
- }
+ my %allgroups = &Apache::longroup::coursegroups($cdom,$cnum);
# --------------------------------------- There is such a user, get environment
@@ -109,6 +106,9 @@ ENDSCRIPT
foreach my $role (sort keys %coursepersonnel) {
foreach (split(/\,/,$coursepersonnel{$role})) {
my ($puname,$pudom)=split(/\:/,$_);
+ if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Group') {
+ $role = &Apache::loncommon::convert_role($role,'Group');
+ }
$r->print('
'.
'
'.$role.'
'.
@@ -121,7 +121,7 @@ ENDSCRIPT
if ($filter ne '.') {
$r->print(' '.&mt('Name starting with').' "'.$filter.'" ');
}
- $r->print('
username
domain
Name
ID
section
active group(s)
');
+ $r->print('
username
domain
Name
ID
section
active group(s)
');
# ------------------------------------------------------------------ Students
foreach (sort keys %$classlist) {
# the following undefs are for 'domain', and 'username' respectively.
@@ -135,7 +135,7 @@ ENDSCRIPT
if (($uname=~/^$filter/) ||
($fullname=~/^$filter/i)) {
my $grouplist = '';
- foreach my $group (@coursegroups) {
+ foreach my $group (sort(keys(%allgroups))) {
if (exists($grouplist{$group.':'.$uname.':'.$udom})) {
my ($end,$start) = split(/:/,$grouplist{$group.':'.$uname.':'.$udom});
if (($end!=0) && ($end<$now)) { next; }