--- loncom/homework/grades.pm 2005/01/10 18:56:19 1.237
+++ loncom/homework/grades.pm 2005/02/01 21:03:13 1.240
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.237 2005/01/10 18:56:19 albertel Exp $
+# $Id: grades.pm,v 1.240 2005/02/01 21:03:13 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3060,14 +3060,16 @@ sub getSymbMap {
my $minder = 0;
# Gather every sequence that has problems.
- my @sequences = $navmap->retrieveResources(undef, sub { shift->is_map(); }, 1);
+ my @sequences = $navmap->retrieveResources(undef, sub { shift->is_map(); },
+ 1,0,1);
for my $sequence ($navmap->getById('0.0'), @sequences) {
- if ($navmap->hasResource($sequence, sub { shift->is_problem(); }, 0) ) {
+# if ($navmap->hasResource($sequence, sub { shift->is_problem(); }, 0) ) {
+ Apache->request->print($sequence->map_pc()."
");
my $title = $minder.'.'.$sequence->compTitle();
push @titles, $title; # minder in case two titles are identical
$symbx{$title} = $sequence->symb();
$minder++;
- }
+# }
}
return \@titles,\%symbx;
}
@@ -3796,25 +3798,49 @@ sub scantron_parse_scanline {
my $currentquest=substr($questions,0,$$scantron_config{'Qlength'});
substr($questions,0,$$scantron_config{'Qlength'})='';
if (length($currentquest) < $$scantron_config{'Qlength'}) { next; }
- my @array=split($$scantron_config{'Qon'},$currentquest,-1);
- if (length($array[0]) eq $$scantron_config{'Qlength'}) {
- $record{"scantron.$questnum.answer"}='';
- if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) {
- push(@{$record{"scantron.missingerror"}},$questnum);
- }
+ if ($$scantron_config{'Qon'} eq 'letter') {
+ if (!$currentquest || $currentquest eq $$scantron_config{'Qoff'} ||
+ $currentquest !~ /^[A-Z]$/) {
+ $record{"scantron.$questnum.answer"}='';
+ if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) {
+ push(@{$record{"scantron.missingerror"}},$questnum);
+ }
+ } else {
+ $record{"scantron.$questnum.answer"}=$currentquest;
+ }
+ } elsif ($$scantron_config{'Qon'} eq 'number') {
+ if (!$currentquest || $currentquest eq $$scantron_config{'Qoff'} ||
+ $currentquest !~ /^\d$/) {
+ $record{"scantron.$questnum.answer"}='';
+ if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) {
+ push(@{$record{"scantron.missingerror"}},$questnum);
+ }
+ } else {
+ $record{"scantron.$questnum.answer"}=
+ $alphabet[$currentquest-1];
+ }
} else {
- $record{"scantron.$questnum.answer"}=$alphabet[length($array[0])];
+ my @array=split($$scantron_config{'Qon'},$currentquest,-1);
+ if (length($array[0]) eq $$scantron_config{'Qlength'}) {
+ $record{"scantron.$questnum.answer"}='';
+ if (!&scan_data($scan_data,"$whichline.no_bubble.$questnum")) {
+ push(@{$record{"scantron.missingerror"}},$questnum);
+ }
+ } else {
+ $record{"scantron.$questnum.answer"}=
+ $alphabet[length($array[0])];
+ }
+ if (scalar(@array) gt 2) {
+ push(@{$record{'scantron.doubleerror'}},$questnum);
+ my @ans=@array;
+ my $i=length($ans[0]);shift(@ans);
+ while ($#ans) {
+ $i+=length($ans[0])+1;
+ $record{"scantron.$questnum.answer"}.=$alphabet[$i];
+ shift(@ans);
+ }
+ }
}
- if (scalar(@array) gt 2) {
- push(@{$record{'scantron.doubleerror'}},$questnum);
- my @ans=@array;
- my $i=length($ans[0]);shift(@ans);
- while ($#ans) {
- $i+=length($ans[0])+1;
- $record{"scantron.$questnum.answer"}.=$alphabet[$i];
- shift(@ans);
- }
- }
}
$record{'scantron.maxquest'}=$questnum;
return \%record;
@@ -4824,7 +4850,6 @@ DOWNLOAD
#
#-------------------------------------------------------------------
-
#-------------------------- Menu interface -------------------------
#
#--- Show a Grading Menu button - Calls the next routine ---
@@ -4877,6 +4902,7 @@ sub gradingmenu {
if (!checkReceiptNo(formname,'notOK')) { return false;}
formname.submit();
}
+ if (val < 7) formname.submit();
}
function checkReceiptNo(formname,nospace) {
@@ -4929,7 +4955,7 @@ GRADINGMENUJS
($saveSec eq $_ ? 'selected="on"':'').'>'.$_.''."\n";
}
}
- $result.= ' ';
$result.=&mt('Student Status').':'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,undef);
@@ -4981,6 +5007,9 @@ GRADINGMENUJS
'-'.
''."\n";
}
+ $result.='