version 1.574.2.7, 2010/01/27 05:12:15
|
version 1.574.2.8, 2010/01/27 06:28:35
|
Line 7416 sub scantron_get_maxbubble {
|
Line 7416 sub scantron_get_maxbubble {
|
if (ref($nav_error)) { |
if (ref($nav_error)) { |
$$nav_error = 1; |
$$nav_error = 1; |
} |
} |
|
return; |
} |
} |
my $map=$navmap->getResourceByUrl($sequence); |
my $map=$navmap->getResourceByUrl($sequence); |
my @resources=$navmap->retrieveResources($map,\&scantron_filter,1,0); |
my @resources=$navmap->retrieveResources($map,\&scantron_filter,1,0); |
Line 7579 sub scantron_process_students {
|
Line 7580 sub scantron_process_students {
|
my (%grader_partids_by_symb,%grader_randomlists_by_symb); |
my (%grader_partids_by_symb,%grader_randomlists_by_symb); |
&graders_resources_pass(\@resources,\%grader_partids_by_symb, |
&graders_resources_pass(\@resources,\%grader_partids_by_symb, |
\%grader_randomlists_by_symb); |
\%grader_randomlists_by_symb); |
|
my $resource_error; |
foreach my $resource (@resources) { |
foreach my $resource (@resources) { |
my $ressymb = $resource->symb(); |
my $ressymb; |
|
if (ref($resource)) { |
|
$ressymb = $resource->symb(); |
|
} else { |
|
$resource_error = 1; |
|
last; |
|
} |
my ($analysis,$parts) = |
my ($analysis,$parts) = |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
&scantron_partids_tograde($resource,$env{'request.course.id'}, |
$env{'user.name'},$env{'user.domain'},1); |
$env{'user.name'},$env{'user.domain'},1); |
Line 7592 sub scantron_process_students {
|
Line 7600 sub scantron_process_students {
|
} |
} |
} |
} |
} |
} |
|
if ($resource_error) { |
|
$r->print(&navmap_errormsg()); |
|
return ''; |
|
} |
|
|
my ($uname,$udom); |
my ($uname,$udom); |
my $result= <<SCANTRONFORM; |
my $result= <<SCANTRONFORM; |
Line 7662 SCANTRONFORM
|
Line 7674 SCANTRONFORM
|
} |
} |
($uname,$udom)=split(/:/,$uname); |
($uname,$udom)=split(/:/,$uname); |
|
|
my %partids_by_symb; |
my (%partids_by_symb,$res_error); |
foreach my $resource (@resources) { |
foreach my $resource (@resources) { |
my $ressymb = $resource->symb(); |
my $ressymb; |
|
if (ref($resource)) { |
|
$ressymb = $resource->symb(); |
|
} else { |
|
$res_error = 1; |
|
last; |
|
} |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
if ((exists($grader_randomlists_by_symb{$ressymb})) || |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
(ref($grader_partids_by_symb{$ressymb}) ne 'ARRAY')) { |
my ($analysis,$parts) = |
my ($analysis,$parts) = |
Line 7675 SCANTRONFORM
|
Line 7693 SCANTRONFORM
|
} |
} |
} |
} |
|
|
|
if ($res_error) { |
|
&scantron_add_delay(\@delayqueue,$line, |
|
'An error occurred while grading student '.$uname,2); |
|
next; |
|
} |
|
|
&Apache::lonxml::clear_problem_counter(); |
&Apache::lonxml::clear_problem_counter(); |
&Apache::lonnet::appenv($scan_record); |
&Apache::lonnet::appenv($scan_record); |
|
|