--- loncom/interface/lonpickcourse.pm 2005/10/14 18:23:32 1.32
+++ loncom/interface/lonpickcourse.pm 2005/11/15 20:46:40 1.35
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Pick a course
#
-# $Id: lonpickcourse.pm,v 1.32 2005/10/14 18:23:32 albertel Exp $
+# $Id: lonpickcourse.pm,v 1.35 2005/11/15 20:46:40 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -55,7 +55,7 @@ ENDDOCUMENT
'sincefilter','form','cnumelement',
'cdomelement','cnameelement','roleelement',
'pickedcourse','instcodefilter',
- 'ownerfilter','coursefilter']);
+ 'ownerfilter','coursefilter','multiple']);
# domain filter and selection
my $domainfilter=$env{'form.domainfilter'};
$domainfilter=~s/\W//g;
@@ -115,16 +115,15 @@ ENDDOCUMENT
$seclist = join('","',@sections);
}
}
-# if called from rolefilter, setup for multiple course selections.
- my $multflag = 0;
my $jscript;
my $title = 'Selecting a course';
- if ($env{'form.form'} eq 'rolefilter') {
- $multflag = 1;
+# Setup for multiple course selections, if flag for multiples set.
+ my $multiple = $env{'form.multiple'};
+ my $multelement;
+ if ($multiple) {
$title = 'Selecting course(s)';
- }
- if ($multflag) {
$jscript = &Apache::loncommon::check_uncheck_jscript();
+ $multelement = '';
}
$r->print(&Apache::loncommon::bodytag($title,undef,$loaditem,undef,undef,undef,undef,1));
my %lt=&Apache::lonlocal::texthash(
@@ -155,39 +154,54 @@ ENDDOCUMENT
}
$r->print(<
-function gochoose(cname,cdom,cdesc,multflag,caller) {
+function gochoose(cname,cdom,cdesc,multiple,caller) {
var openerForm = "$env{'form.form'}";
courseCount = 0;
var courses = '';
- if (multflag) {
- for (var j=0; j 0) {
- courses = courses.substr(0,courses.length-2);
- opener.document.$env{'form.form'}.courselist.value = courses
- }
- }
- else {
+ if (typeof(opener.document.$env{'form.form'}.coursepick.length) ==
+ 'undefined') {
+ if (opener.document.$env{'form.form'}.coursepick.value == 'specific') {
+ opener.document.$env{'form.form'}.coursepick.checked = true;
+ } else {
+ opener.document.$env{'form.form'}.coursepick.checked = false;
+ }
+ } else {
+ for (var j=0; j 0) {
+ courses = courses.substr(0,courses.length-2);
+ opener.document.$env{'form.form'}.courselist.value = courses;
+ }
+ } else {
$name_code
opener.document.$env{'form.form'}.$env{'form.cnumelement'}.value=cname;
- if (openerForm == 'cu') {
+ var slct=opener.document.$env{'form.form'}.$env{'form.cdomelement'};
+ if (slct.options == undefined) {
opener.document.$env{'form.form'}.$env{'form.cdomelement'}.value=cdom;
}
else {
- var slct=opener.document.$env{'form.form'}.$env{'form.cdomelement'};
var i;
for (i=0;i
$roleelement
+$multelement
$lt{'cac'}: $sincefilterform
$lt{'cdo'}: $domainselectform
@@ -283,7 +295,7 @@ ENDSCRIPT
my $description = lc($descr);
push (@{$by_descrip{$description}}, $course);
}
- if ($numcourses > 1 && $multflag) {
+ if ($numcourses > 1 && $multiple) {
$r->print('
@@ -295,7 +307,7 @@ ENDSCRIPT
$cleandesc=~s/'/\\'/g;
my ($cdom,$cnum)=split(/\_/,$course);
my ($descr,$instcode,$owner) = split/:/,$courses{$course};
- $r->print(&course_chooser($multflag,$cdom,$cnum,$cleandesc));
+ $r->print(&course_chooser($multiple,$cdom,$cnum,$cleandesc));
$r->print($description.'('.
($Apache::lonnet::domaindescription{$cdom}?
$Apache::lonnet::domaindescription{$cdom}:$cdom).")");
@@ -305,13 +317,13 @@ ENDSCRIPT
unless ($owner eq '') {
$r->print(", owner - ".&Apache::lonnet::unescape($owner));
}
- if ($multflag) { $r->print("\n"); }
+ if ($multiple) { $r->print("\n"); }
$r->print("
\n");
}
}
if (!%courses) {
$r->print(&mt('None found'));
- } elsif ($multflag) {
+ } elsif ($multiple) {
$r->print('');
}
$r->print(''."\n".
@@ -325,9 +337,9 @@ ENDSCRIPT
}
sub course_chooser {
- my ($multflag,$cdom,$cnum,$cleandesc) = @_;
+ my ($multiple,$cdom,$cnum,$cleandesc) = @_;
my $output;
- if ($multflag) {
+ if ($multiple) {
$output = '