--- modules/gci/londocsgci.pm 2010/01/05 12:36:11 1.8
+++ modules/gci/londocsgci.pm 2010/01/15 18:21:08 1.11
@@ -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.11 2010/01/15 18:21:08 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 .= '';
}
$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;
}
}
@@ -711,8 +732,6 @@ function setDocsPhase() {
if (document.choices.concepttest[i].checked) {
if (document.choices.concepttest[i].value == 'defchosen') {
document.choices.phase.value = 'storemap';
- alert("Setting value for phase to "+document.choices.phase.value);
-
}
}
}