--- loncom/interface/loncoursedata.pm 2006/05/09 14:38:09 1.169 +++ loncom/interface/loncoursedata.pm 2006/05/11 20:05:03 1.170 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.169 2006/05/09 14:38:09 albertel Exp $ +# $Id: loncoursedata.pm,v 1.170 2006/05/11 20:05:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1024,8 +1024,9 @@ sub populate_students_groups_table { "(student_id,group_id) VALUES "; my $cdom = $env{'course.'.$courseid.'.domain'}; my $cnum = $env{'course.'.$courseid.'.num'}; - my $classlist = &get_classlist($cdom,$cnum); + my ($classlist,$keylist) = &get_classlist($cdom,$cnum); my ($classgroups,$studentgroups) = &get_group_memberships($classlist, + $keylist, $cdom,$cnum); my $record_count = 0; foreach my $student (sort(keys(%{$classgroups}))) { @@ -3141,7 +3142,7 @@ sub get_classlist { } sub get_group_memberships { - my ($classlist,$cdom,$cnum) = @_; + my ($classlist,$keylist,$cdom,$cnum) = @_; my $cid = $cdom.'_'.$cnum; if (!defined($cdom) || !defined($cnum)) { $cid = $env{'request.course.id'}; @@ -3153,6 +3154,7 @@ sub get_group_memberships { my $access_end = $env{'course.'.$cid.'.default_enrollment_end_date'}; my %curr_groups =&Apache::loncommon::coursegroups($cdom,$cnum); if (%curr_groups) { + my $grpindex = scalar(@{$keylist}); my %groupmemberhash = &Apache::lonnet::get_group_membership($cdom,$cnum); foreach my $student (keys(%{$classlist})) { @@ -3194,6 +3196,9 @@ sub get_group_memberships { } if (!$hasgroup) { $studentgroups{'none'} ++; + } else { + $classlist->{$student}->[$grpindex] = join(',', + sort(keys(%{$classgroups{$student}{'active'}}))); } } }