--- loncom/interface/lonhelper.pm 2006/05/09 14:38:10 1.142
+++ loncom/interface/lonhelper.pm 2006/05/09 21:44:18 1.145
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# .helper XML handler to implement the LON-CAPA helper
#
-# $Id: lonhelper.pm,v 1.142 2006/05/09 14:38:10 albertel Exp $
+# $Id: lonhelper.pm,v 1.145 2006/05/09 21:44:18 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2291,16 +2291,131 @@ use Apache::lonnet;
# set of students won't collide.
# $defaultusers - reference to a hash containng
# the set of users that should be on or off.
+# $multiselect - True if multiselect allowed.
+# $resultname - Name of result variable.
+# $javascript - If true, the javascript to run this is output
+# This should be true for the first call for a page
+# and false for all other calls... only matters if
+# multiselect is true.
# Returns:
# HTML text to add to the rendering of the helper.
#
sub render_student_list {
- my ($self,
- $sections, $students, $formprefix, $defaultusers) = @_;
+ my (
+ $sections, $students, $formprefix, $defaultusers,
+ $multiselect, $resultname, $javascript) = @_;
- my $multiselect = $self->{'multichoice'};
my $result = "";
+ if ($javascript && $multiselect) {
+ $result .= <
+SCRIPT
+
+ }
+
# If multiple selections are allowed, we have a listbox
# at the top which allows quick selections from each section
# as well as from categories of personnel.
@@ -2352,7 +2467,7 @@ sub render_student_list {
my $checked = 0;
for my $student (@$students) {
$result .= '
[0];
# Figure out which students are checked by default...
@@ -2362,7 +2477,7 @@ sub render_student_list {
$result .= ' checked ="checked" ';
$checked = 1;
}
- } elsif (!$self->{'multichoice'} && !$checked) {
+ } elsif (!$multiselect && !$checked) {
$result .= ' checked="checked" ';
$checked = 1; # First one for radio if no default specified.
}
@@ -2433,136 +2548,6 @@ sub render {
my $buttons = '';
my $var = $self->{'variable'};
- if ($self->{'multichoice'}) {
- $result = <
-SCRIPT
-
- my %lt=&Apache::lonlocal::texthash(
- 'ocs' => "Select Only Current Students",
- 'ues' => "Unselect Expired Students",
- 'sas' => "Select All Students",
- 'uas' => "Unselect All Students",
- 'sfsg' => "Select Current Students for Section/Group",
- 'ufsg' => "Unselect for Section/Group");
-
- $buttons = <
-