--- modules/gci/londocsgci.pm 2010/01/05 12:36:11 1.8 +++ modules/gci/londocsgci.pm 2010/01/09 01:07:56 1.10 @@ -2,7 +2,7 @@ # Custom Edit Course Routines for Assembly of Valid Concept Tests from # Geoscience Concept Inventory. # -# $Id: londocsgci.pm,v 1.8 2010/01/05 12:36:11 gci Exp $ +# $Id: londocsgci.pm,v 1.10 2010/01/09 01:07:56 gci Exp $ # # Copyright Michigan State University Board of Trustees # @@ -182,6 +182,21 @@ sub validcheck { sub listresources { my ($r,$context,$cdom,$cnum)=@_; my $numchosen = scalar(@chosen); + my $multipart = 0; + my $composites; + if ($numchosen > 0) { + foreach my $key (keys(%prereqs)) { + if (grep(/^\Q$key\E/,@chosen)) { + $multipart ++; + $numchosen --; + } + } + if ($multipart) { + $composites = &mt(' (of which [quant,_1,is a combination question,are combination questions] in which students select both an answer, and the reasoning used).',$multipart).'
'; + } else { + $composites = '. '; + } + } unless ($numchosen > 0) { $r->print('

'.&mt('Create a Concept Test').'

'. '

'.&mt('Choose how the test should be built:').'
'. @@ -197,7 +212,7 @@ sub listresources { } else { my $numsub = &get_submissions_count($cdom,$cnum); unless ($env{'form.phase'} eq 'storemap') { - $r->print('

'.&mt('This course contains a valid concept test which includes [quant,_1,question].',$numchosen).' '.&mt('Display Contents').'
'); + $r->print('

'.&mt('This course contains a valid concept test which includes [quant,_1,question]',$numchosen).$composites.''.&mt('Display Contents').'
'); } if ($numsub > 0) { $r->print(&mt('As there are existing student submissions, modification of the [_1]contents[_2] of the Concept Test will result in loss of student performance data, and is [_3]not[_4] permitted.','','','','').'
'.&mt('Modification of open and close dates [_1]is[_2] permitted.','','').'

'); @@ -228,7 +243,8 @@ sub listresources { &Apache::lonhtmlcommon::row_closure(1). &Apache::lonhtmlcommon::row_title(&mt('Close date')). $endform. - &Apache::lonhtmlcommon::end_pick_box().'
'. + &Apache::lonhtmlcommon::row_closure(1). + &Apache::lonhtmlcommon::end_pick_box().'
'. ''. ''. '

'); @@ -294,7 +310,7 @@ sub display_questions { 'value="'.$fixed{$catname}.'" readonly="readonly" />').''; } else { $output .= ''.&mt('[_1]: currently [_2] selected',$catlegend, - '').''; } $output .= ''. @@ -318,7 +334,7 @@ sub display_questions { } elsif ($catname eq 'development') { $output .= ''; } else { - $output .= '{$item}) { $output .= ' checked="checked"'; } $output .= ' onclick="countChecked('."'$catname'".');'; my $binname; @@ -591,11 +607,13 @@ sub builder_javascript { my $prereqjs = " function checkPrereqs(caller,item,prereq,binname) { var changedPrereq = 0; - if (document.selecteditems.elements['item'+item].checked == false) { + element = document.getElementById('item'+item); + if (element.checked == false) { return; } else { - if (!document.selecteditems.elements['item'+prereq].checked) { - document.selecteditems.elements['item'+prereq].checked = true; + prereqelement = document.getElementById('item'+prereq); + if (!prereqelement.checked) { + prereqelement.checked = true; changedPrereq = 1; countChecked(binname); } @@ -680,13 +698,15 @@ function countChecked(binname) { if (document.selecteditems.elements[i].value == binname) { var itemname = document.selecteditems.elements[i].name; var itemnum = itemname.substr(9); - if (document.selecteditems.elements['item'+itemnum].checked) { + element = document.getElementById('item'+itemnum); + if (element.checked) { count ++; } } } } - document.selecteditems.elements['GCI_'+binname+'_count'].value = count; + countelement = document.getElementById('GCI_'+binname+'_count'); + countelement.value = count; } function validTestCheck() { @@ -694,7 +714,8 @@ function validTestCheck() { for (var i=0; i<11; i++) { var binname = 'GCI_bin'+i+'_count'; var j = i+1; - if (document.selecteditems.elements[binname].value < 1) { + countelement = document.getElementById(binname); + if (countelement.value < 1) { empty = empty +' '+j; } }