version 1.32, 2005/10/14 18:23:32
|
version 1.36, 2005/12/15 23:31:32
|
Line 55 ENDDOCUMENT
|
Line 55 ENDDOCUMENT
|
'sincefilter','form','cnumelement', |
'sincefilter','form','cnumelement', |
'cdomelement','cnameelement','roleelement', |
'cdomelement','cnameelement','roleelement', |
'pickedcourse','instcodefilter', |
'pickedcourse','instcodefilter', |
'ownerfilter','coursefilter']); |
'ownerfilter','coursefilter','multiple']); |
# domain filter and selection |
# domain filter and selection |
my $domainfilter=$env{'form.domainfilter'}; |
my $domainfilter=$env{'form.domainfilter'}; |
$domainfilter=~s/\W//g; |
$domainfilter=~s/\W//g; |
Line 115 ENDDOCUMENT
|
Line 115 ENDDOCUMENT
|
$seclist = join('","',@sections); |
$seclist = join('","',@sections); |
} |
} |
} |
} |
# if called from rolefilter, setup for multiple course selections. |
|
my $multflag = 0; |
|
my $jscript; |
my $jscript; |
my $title = 'Selecting a course'; |
my $title = 'Selecting a course'; |
if ($env{'form.form'} eq 'rolefilter') { |
# Setup for multiple course selections, if flag for multiples set. |
$multflag = 1; |
my $multiple = $env{'form.multiple'}; |
|
my $multelement; |
|
if ($multiple) { |
$title = 'Selecting course(s)'; |
$title = 'Selecting course(s)'; |
} |
|
if ($multflag) { |
|
$jscript = &Apache::loncommon::check_uncheck_jscript(); |
$jscript = &Apache::loncommon::check_uncheck_jscript(); |
|
$multelement = '<input type="hidden" name="multiple" value="'.$multiple.'" />'; |
} |
} |
$r->print(&Apache::loncommon::bodytag($title,undef,$loaditem,undef,undef,undef,undef,1)); |
$r->print(&Apache::loncommon::bodytag($title,undef,$loaditem,undef,undef,undef,undef,1)); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 150 ENDDOCUMENT
|
Line 149 ENDDOCUMENT
|
my $roledom = $env{'form.roleelement'}; |
my $roledom = $env{'form.roleelement'}; |
if ($roledom) { |
if ($roledom) { |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
$roleelement = '<input type="hidden" name="roleelement" value="'.$roledom.'" />'; |
$submitopener = &Apache::lonroles::processpick($roledom); |
$submitopener = &Apache::lonroles::processpick(); |
$autosubmit = 'process_pick("'.$roledom.'")'; |
$autosubmit = 'process_pick("'.$roledom.'")'; |
} |
} |
$r->print(<<ENDSCRIPT); |
$r->print(<<ENDSCRIPT); |
<script> |
<script> |
function gochoose(cname,cdom,cdesc,multflag,caller) { |
function gochoose(cname,cdom,cdesc,multiple,caller) { |
var openerForm = "$env{'form.form'}"; |
var openerForm = "$env{'form.form'}"; |
courseCount = 0; |
courseCount = 0; |
var courses = ''; |
var courses = ''; |
if (multflag) { |
if (multiple) { |
for (var j=0; j<document.courselist.course_id.length; j++) { |
if (typeof(document.courselist.course_id.length) == 'undefined') { |
if (document.courselist.course_id[j].checked) { |
// only 1 course checkbox was created |
courses = courses + document.courselist.course_id[j].value + "&&"; |
if (document.courselist.course_id.checked) { |
courseCount ++; |
courses = courses + document.courselist.course_id.value + "&&"; |
} |
courseCount ++; |
} |
} |
|
} else { |
|
for (var j=0; j<document.courselist.course_id.length; j++) { |
|
if (document.courselist.course_id[j].checked) { |
|
courses = courses + document.courselist.course_id[j].value + "&&"; |
|
courseCount ++; |
|
} |
|
} |
|
} |
opener.document.$env{'form.form'}.coursetotal.value = courseCount; |
opener.document.$env{'form.form'}.coursetotal.value = courseCount; |
for (var j=0; j<opener.document.$env{'form.form'}.coursepick.length; j++) { |
if (typeof(opener.document.$env{'form.form'}.coursepick.length) == |
if (opener.document.$env{'form.form'}.coursepick[j].value == 'specific') { |
'undefined') { |
opener.document.$env{'form.form'}.coursepick[j].checked = true; |
if (opener.document.$env{'form.form'}.coursepick.value == 'specific') { |
} |
opener.document.$env{'form.form'}.coursepick.checked = true; |
else { |
} else { |
opener.document.$env{'form.form'}.coursepick[j].checked = false; |
opener.document.$env{'form.form'}.coursepick.checked = false; |
} |
} |
} |
} else { |
if (courseCount > 0) { |
for (var j=0; j<opener.document.$env{'form.form'}.coursepick.length; j++) { |
courses = courses.substr(0,courses.length-2); |
if (opener.document.$env{'form.form'}.coursepick[j].value == 'specific') { |
opener.document.$env{'form.form'}.courselist.value = courses |
opener.document.$env{'form.form'}.coursepick[j].checked = true; |
} |
} else { |
} |
opener.document.$env{'form.form'}.coursepick[j].checked = false; |
else { |
} |
|
} |
|
} |
|
if (courseCount > 0) { |
|
courses = courses.substr(0,courses.length-2); |
|
opener.document.$env{'form.form'}.courselist.value = courses; |
|
} |
|
} else { |
$name_code |
$name_code |
opener.document.$env{'form.form'}.$env{'form.cnumelement'}.value=cname; |
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; |
opener.document.$env{'form.form'}.$env{'form.cdomelement'}.value=cdom; |
} |
} |
else { |
else { |
var slct=opener.document.$env{'form.form'}.$env{'form.cdomelement'}; |
|
var i; |
var i; |
for (i=0;i<slct.length;i++) { |
for (i=0;i<slct.length;i++) { |
if (slct.options[i].value==cdom) { slct.selectedIndex=i; } |
if (slct.options[i].value==cdom) { slct.selectedIndex=i; } |
Line 206 function setSections() {
|
Line 220 function setSections() {
|
opener.document.$env{"form.form"}.currsec.multiple=false |
opener.document.$env{"form.form"}.currsec.multiple=false |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false) |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('No existing sections','',false,false) |
} |
} else { |
else { |
|
if (numSections == 1) { |
if (numSections == 1) { |
opener.document.$env{"form.form"}.currsec.multiple=false; |
opener.document.$env{"form.form"}.currsec.multiple=false; |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.currsec.size=1; |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.currsec.options[0] = new Option('Select','',true,true); |
opener.document.$env{"form.form"}.currsec.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.currsec.options[1] = new Option('No section','',false,false) |
opener.document.$env{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
opener.document.$env{"form.form"}.currsec.options[2] = new Option(sectionsArray[0],sectionsArray[0],false,false); |
} |
} else { |
else { |
|
for (var i=0; i<numSections; i++) { |
for (var i=0; i<numSections; i++) { |
opener.document.$env{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
opener.document.$env{"form.form"}.currsec.options[i] = new Option(sectionsArray[i],sectionsArray[i],false,false) |
} |
} |
opener.document.$env{"form.form"}.currsec.multiple=true |
opener.document.$env{"form.form"}.currsec.multiple=true |
if (numSections < 3) { |
if (numSections < 3) { |
opener.document.$env{"form.form"}.currsec.size=numSections; |
opener.document.$env{"form.form"}.currsec.size=numSections; |
} |
} else { |
else { |
|
opener.document.$env{"form.form"}.currsec.size=3; |
opener.document.$env{"form.form"}.currsec.size=3; |
} |
} |
opener.document.$env{"form.form"}.currsec.options[0].selected = false |
opener.document.$env{"form.form"}.currsec.options[0].selected = false |
Line 241 $submitopener
|
Line 252 $submitopener
|
$name_input |
$name_input |
<input type="hidden" name="form" value="$env{'form.form'}" /> |
<input type="hidden" name="form" value="$env{'form.form'}" /> |
$roleelement |
$roleelement |
|
$multelement |
$lt{'cac'}: $sincefilterform |
$lt{'cac'}: $sincefilterform |
<br /> |
<br /> |
$lt{'cdo'}: $domainselectform |
$lt{'cdo'}: $domainselectform |
Line 283 ENDSCRIPT
|
Line 295 ENDSCRIPT
|
my $description = lc($descr); |
my $description = lc($descr); |
push (@{$by_descrip{$description}}, $course); |
push (@{$by_descrip{$description}}, $course); |
} |
} |
if ($numcourses > 1 && $multflag) { |
if ($numcourses > 1 && $multiple) { |
$r->print('<input type="button" value="check all" |
$r->print('<input type="button" value="check all" |
onclick="javascript:checkAll(document.courselist.course_id)" /> <input type="button" value="uncheck all" |
onclick="javascript:checkAll(document.courselist.course_id)" /> <input type="button" value="uncheck all" |
onclick="javascript:uncheckAll(document.courselist.course_id)" /> |
onclick="javascript:uncheckAll(document.courselist.course_id)" /> |
Line 295 ENDSCRIPT
|
Line 307 ENDSCRIPT
|
$cleandesc=~s/'/\\'/g; |
$cleandesc=~s/'/\\'/g; |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($cdom,$cnum)=split(/\_/,$course); |
my ($descr,$instcode,$owner) = split/:/,$courses{$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.'('. |
$r->print($description.'('. |
($Apache::lonnet::domaindescription{$cdom}? |
($Apache::lonnet::domaindescription{$cdom}? |
$Apache::lonnet::domaindescription{$cdom}:$cdom).")"); |
$Apache::lonnet::domaindescription{$cdom}:$cdom).")"); |
Line 305 ENDSCRIPT
|
Line 317 ENDSCRIPT
|
unless ($owner eq '') { |
unless ($owner eq '') { |
$r->print(", owner - ".&Apache::lonnet::unescape($owner)); |
$r->print(", owner - ".&Apache::lonnet::unescape($owner)); |
} |
} |
if ($multflag) { $r->print("</label>\n"); } |
if ($multiple) { $r->print("</label>\n"); } |
$r->print("<br />\n"); |
$r->print("<br />\n"); |
} |
} |
} |
} |
if (!%courses) { |
if (!%courses) { |
$r->print(&mt('None found')); |
$r->print(&mt('None found')); |
} elsif ($multflag) { |
} elsif ($multiple) { |
$r->print('<input type="button" value="Submit" onClick="gochoose('."'','','',1)".'" />'); |
$r->print('<input type="button" value="Submit" onClick="gochoose('."'','','',1)".'" />'); |
} |
} |
$r->print('<input type="hidden" name="form" value="'.$env{'form.form'}.'" />'."\n". |
$r->print('<input type="hidden" name="form" value="'.$env{'form.form'}.'" />'."\n". |
'<input type="hidden" name="pickedcourse" value="" />'."\n". |
'<input type="hidden" name="pickedcourse" value="" />'."\n". |
'<input type="hidden" name="cnumelement" value="'.$env{'form.cnumelement'}.'" />'."\n". |
'<input type="hidden" name="cnumelement" value="'.$env{'form.cnumelement'}.'" />'."\n". |
'<input type="hidden" name="cdomelement" value="'.$env{'form.cdomelement'}.'" />'."\n". |
'<input type="hidden" name="cdomelement" value="'.$env{'form.cdomelement'}.'" />'."\n"); |
'</form>'); |
if ((exists($env{'form.roleelement'})) && ($env{'form.form'} eq 'rolechoice')) { |
|
$r->print('<input type="hidden" name="roleelement" value="'.$env{'form.roleelement'}.'" />'."\n"); |
|
} |
|
$r->print("</form>\n"); |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |
return OK; |
return OK; |
} |
} |
|
|
sub course_chooser { |
sub course_chooser { |
my ($multflag,$cdom,$cnum,$cleandesc) = @_; |
my ($multiple,$cdom,$cnum,$cleandesc) = @_; |
my $output; |
my $output; |
if ($multflag) { |
if ($multiple) { |
$output = '<label><input type="checkbox" name="course_id" value="'.$cdom.'_'.$cnum.'" />'."\n"; |
$output = '<label><input type="checkbox" name="course_id" value="'.$cdom.'_'.$cnum.'" />'."\n"; |
} else { |
} else { |
$output = '<input type="button" value="Select" onClick="gochoose('. |
$output = '<input type="button" value="Select" onClick="gochoose('. |