--- loncom/interface/lonselstudent.pm 2006/05/23 21:41:26 1.7 +++ loncom/interface/lonselstudent.pm 2007/11/01 19:56:39 1.10 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # lonselstudent.pm : Reusable subs for student selection. # -# $Id: lonselstudent.pm,v 1.7 2006/05/23 21:41:26 foxr Exp $ +# $Id: lonselstudent.pm,v 1.10 2007/11/01 19:56:39 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -28,8 +28,9 @@ package Apache::lonselstudent; use Apache::lonnet; -use Apache::loncoursedata; -use HTML::Entities; +use Apache::lonlocal; +use Apache::loncoursedata(); +use HTML::Entities(); # # Utility function used when rendering <student> tags. @@ -112,10 +113,9 @@ sub get_people_in_class { my @keys = keys(%{$classlist}); # Sort by: Section, name @keys = sort { - if ($classlist->{$a}->[$section] ne $classlist->{$b}->[$section]) { - return $classlist->{$a}->[$section] cmp $classlist->{$b}->[$section]; - } - return $classlist->{$a}->[$fullname] cmp $classlist->{$b}->[$fullname]; + lc($classlist->{$a}[$section]) cmp lc($classlist->{$b}[$section]) || + lc($classlist->{$a}[$fullname]) cmp lc($classlist->{$b}[$fullname]) || + lc($a) cmp lc($b) } (@keys); @@ -188,6 +188,9 @@ sub render_student_list { my $result = ""; + # no students so no output + return if (!@$students); + if ($javascript && $multiselect) { $result .= <<SCRIPT; <script type="text/javascript"> @@ -269,12 +272,12 @@ sub render_student_list { if (elem != null) { for (k = 0; k < elem.length; k++) { if (elem.options[k].selected) { - what = elem.options[k].text; - if (what == 'All Students') { + what = elem.options[k].value; + if (what == 'allstudents') { setAllStudents(value, which); - } else if (what == 'All Course Personnel') { + } else if (what == 'allpersonnel') { setAllCoursePersonnel(value, which); - } else if (what == 'No Section') { + } else if (what == 'nosection') { setSection('',value, which); } else { setSection(what, value, which); @@ -321,18 +324,18 @@ SCRIPT } $result .= '<select multiple name="'.$formprefix .'.chosensections" size="'.$size.'">'."\n"; - $result .= '<option name="allstudents">All Students</option>'; - $result .= '<option name="allpersonnel">All Course Personnel</option>'; - $result .= '<option name="nosection">No Section</option>'; + $result .= '<option value="allstudents">'.&mt('All Students').'</option>'; + $result .= '<option value="allpersonnel">'.&mt('All Course Personnel').'</option>'; + $result .= '<option value="nosection">'.&mt('No Section').'</option>'; $result .= "\n"; foreach my $sec (sort {lc($a) cmp lc($b)} (keys(%sections))) { $result .= '<option name="'.$sec.'">'.$sec.'</option>'."\n"; } $result .= '</td><td valign="top">'; - $result .= '<input type="button" name="'.$formprefix.'.select" value="Select" onclick=' + $result .= '<input type="button" name="'.$formprefix.'.select" value="'.'Select" onclick=' ."'selectSections(\"$formprefix.chosensections\", \"$formprefix\")'".' /></td>'; $result .= '<td valign="top"><input type="button" name="'.$formprefix - .'.unselect" value="Unselect" onclick='. + .'.unselect" value="'.&mt('Unselect').'" onclick='. "'unselectSections(\"$formprefix.chosensections\", \"$formprefix\")' ".' /></td></tr></table>'; } @@ -343,11 +346,11 @@ SCRIPT $result .= &Apache::loncommon::start_data_table(); $result .= &Apache::loncommon::start_data_table_header_row(); - $result .= '<th></th><th>Name</th>'."\n"; - $result .= ' <th>Section</th>'."\n"; - $result .= ' <th>Status</th>'."\n"; - $result .= ' <th>Role</th>'."\n"; - $result .= ' <th>Username : Domain</th>'."\n"; + $result .= '<th></th><th>'.&mt('Name').'</th>'."\n"; + $result .= ' <th>'.&mt('Section').'</th>'."\n"; + $result .= ' <th>'.&mt('Status').'</th>'."\n"; + $result .= ' <th>'.&mt('Role').'</th>'."\n"; + $result .= ' <th>'.&mt('Username : Domain').'</th>'."\n"; $result .= &Apache::loncommon::end_data_table_header_row(); my $input_type; @@ -361,7 +364,7 @@ SCRIPT for my $student (@$students) { $result .= &Apache::loncommon::start_data_table_row(). '<td><input type="'.$input_type.'" name="'. - $resultname.".forminput".'"'; + $resultname."_forminput".'"'; my $user = $student->[0]; # Figure out which students are checked by default...