--- loncom/interface/lonselstudent.pm 2006/05/17 15:04:42 1.4 +++ loncom/interface/lonselstudent.pm 2006/05/17 15:22:32 1.6 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # lonselstudent.pm : Reusable subs for student selection. # -# $Id: lonselstudent.pm,v 1.4 2006/05/17 15:04:42 albertel Exp $ +# $Id: lonselstudent.pm,v 1.6 2006/05/17 15:22:32 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -71,20 +71,19 @@ sub get_people_in_class { # Enumerate the course_personnel. # my @course_personnel; - for (sort(keys(%coursepersonnel))) { - for my $role (split(/,/, $coursepersonnel{$_})) { - # extract the names so we can sort them - my @people; - - for (split(/,/, $role)) { - push(@people, [split(/:/, $role)]); - } - - @people = sort { $a->[0] cmp $b->[0] } (@people); + for my $role (sort(keys(%coursepersonnel))) { + # extract the names so we can sort them + my @people; + for my $person (split(/,/, $coursepersonnel{$role})) { + my ($uname,$domain) = split(/:/, $person); + push(@people, [&Apache::loncommon::plainname($uname,$domain), + $uname,$domain]); + } + @people = sort { $a->[0] cmp $b->[0] } (@people); - for my $person (@people) { - push(@course_personnel, [join(':', @$person), $person->[0], '', $_]); - } + for my $person (@people) { + push(@course_personnel, [join(':', $person->[1],$person->[2]), + $person->[0], '', '', $role]); } } # Students must be split into the three categories: @@ -114,26 +113,27 @@ sub get_people_in_class { - for (@keys) { + for my $user (@keys) { - if ( $classlist->{$_}->[$status] eq + if ( $classlist->{$user}->[$status] eq 'Active') { - push(@current_members, [$_, $classlist->{$_}->[$fullname], - $classlist->{$_}->[$section], - $classlist->{$_}->[$status], 'Student']); + push(@current_members, [$user, $classlist->{$user}->[$fullname], + $classlist->{$user}->[$section], + $classlist->{$user}->[$status], 'Student']); } else { # Need to figure out if this user is future or # Expired... If the start date is in the future # the user is future...else expired. my $now = time; - if ($classlist->{$_}->[$start_date] > $now) { - push(@future_members, [$_, $classlist->{$_}->[$fullname], - $classlist->{$_}->[$section], + if ($classlist->{$user}->[$start_date] > $now) { + push(@future_members, [$user, $classlist->{$user}->[$fullname], + $classlist->{$user}->[$section], "Future", "Student"]); } else { - push(@expired_members, [$_, $classlist->{$_}->[$fullname], - $classlist->{$_}->[$section], + push(@expired_members, [$user, + $classlist->{$user}->[$fullname], + $classlist->{$user}->[$section], "Expired", "Student"]); }