{'multichoice'} && !$checked) {
+ if (%defaultUsers) {
+ my $user=$choice->[0];
+ if (exists($defaultUsers{$user})) {
+ $result .= " checked='checked' ";
+ $checked = 1;
+ }
+ } elsif (!$self->{'multichoice'} && !$checked) {
$result .= " checked='checked' ";
$checked = 1;
}
@@ -2364,8 +2476,51 @@ BUTTONS
}
$result .= "\n\n";
- $result .= $buttons;
-
+ $result .= $buttons;
+ #
+ # now add the fancy section choice... first enumerate the sections:
+ if ($self->{'multichoice'}) {
+ my %sections;
+ for my $key (@keys) {
+ my $section_name = $classlist->{$key}->[$section];
+ if ($section_name ne "") {
+ $sections{$section_name} = 1;
+ }
+ }
+ # The variable $choice_widget will have the html to make the choice
+ # selector.
+ my $size=5;
+ if (scalar(keys(%sections)) < 5) {
+ $size=scalar(keys(%sections));
+ }
+ my $choice_widget = '\n";
+
+ # Build a table without any borders to contain the section based
+ # selection:
+
+ my $section_selectors =<
+
+ For Sections: | $choice_widget |
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+SECTIONSELECT
+ $result .= $section_selectors;
+ }
return $result;
}
@@ -2373,9 +2528,14 @@ sub postprocess {
my $self = shift;
my $result = $env{'form.' . $self->{'variable'} . '.forminput'};
- if (!$result) {
- $self->{ERROR_MSG} =
- &mt('You must choose at least one student to continue.');
+ if (!$result && !$self->{'emptyallowed'}) {
+ if ($self->{'coursepersonnel'}) {
+ $self->{ERROR_MSG} =
+ &mt('You must choose at least one user to continue.');
+ } else {
+ $self->{ERROR_MSG} =
+ &mt('You must choose at least one student to continue.');
+ }
return 0;
}
@@ -2547,7 +2707,8 @@ sub render {
if ($self->{'multichoice'}) {
$result = <
SCRIPT
my %lt=&Apache::lonlocal::texthash(
|