version 1.584, 2009/12/15 18:26:18
|
version 1.586, 2009/12/27 01:25:26
|
Line 1711 sub get_increment {
|
Line 1711 sub get_increment {
|
return $increment; |
return $increment; |
} |
} |
|
|
|
sub gradeBox_start { |
|
return ( |
|
&Apache::loncommon::start_data_table() |
|
.&Apache::loncommon::start_data_table_header_row() |
|
.'<th>'.&mt('Part').'</th>' |
|
.'<th>'.&mt('Points').'</th>' |
|
.'<th> </th>' |
|
.'<th>'.&mt('Assign Grade').'</th>' |
|
.'<th>'.&mt('Weight').'</th>' |
|
.'<th>'.&mt('Grade Status').'</th>' |
|
.&Apache::loncommon::end_data_table_header_row() |
|
); |
|
} |
|
|
|
sub gradeBox_end { |
|
return ( |
|
&Apache::loncommon::end_data_table() |
|
); |
|
} |
#--- displays the grading box, used in essay type problem and grading by page/sequence |
#--- displays the grading box, used in essay type problem and grading by page/sequence |
sub gradeBox { |
sub gradeBox { |
my ($request,$symb,$uname,$udom,$counter,$partid,$record) = @_; |
my ($request,$symb,$uname,$udom,$counter,$partid,$record) = @_; |
Line 1730 sub gradeBox {
|
Line 1749 sub gradeBox {
|
if ($last_resets{$partid}) { |
if ($last_resets{$partid}) { |
$aggtries = &get_num_tries($record,$last_resets{$partid},$partid); |
$aggtries = &get_num_tries($record,$last_resets{$partid},$partid); |
} |
} |
$result.='<table border="0"><tr>'; |
$result.=&Apache::loncommon::start_data_table_row(); |
my $ctr = 0; |
my $ctr = 0; |
my $thisweight = 0; |
my $thisweight = 0; |
my $increment = &get_increment(); |
my $increment = &get_increment(); |
Line 1753 sub gradeBox {
|
Line 1772 sub gradeBox {
|
$wgt.')" /></td>'."\n"; |
$wgt.')" /></td>'."\n"; |
$line.='<td>/'.$wgt.' '.$wgtmsg. |
$line.='<td>/'.$wgt.' '.$wgtmsg. |
($$record{'resource.'.$partid.'.solved'} eq 'correct_by_student' ? ' '.$checkIcon : ''). |
($$record{'resource.'.$partid.'.solved'} eq 'correct_by_student' ? ' '.$checkIcon : ''). |
' </td><td><b>'.&mt('Grade Status').':</b>'."\n"; |
' </td>'."\n"; |
$line.='<select name="GD_SEL'.$counter.'_'.$partid.'" '. |
$line.='<td><select name="GD_SEL'.$counter.'_'.$partid.'" '. |
'onChange="javascript:clearRadBox(this.form,\''.$counter.'_'.$partid.'\')" >'."\n"; |
'onChange="javascript:clearRadBox(this.form,\''.$counter.'_'.$partid.'\')" >'."\n"; |
if ($$record{'resource.'.$partid.'.solved'} eq 'excused') { |
if ($$record{'resource.'.$partid.'.solved'} eq 'excused') { |
$line.='<option></option>'. |
$line.='<option></option>'. |
Line 1768 sub gradeBox {
|
Line 1787 sub gradeBox {
|
|
|
#&mt('<td><b>Part:</b></td><td>[_1]</td><td><b>Points:</b></td><td>[_2]</td><td>or</td><td>[_3]</td>',$display_part,$radio,$line); |
#&mt('<td><b>Part:</b></td><td>[_1]</td><td><b>Points:</b></td><td>[_2]</td><td>or</td><td>[_3]</td>',$display_part,$radio,$line); |
$result .= |
$result .= |
'<td><b>'.&mt('Part:').'</b></td><td>'.$display_part.'</td><td><b>'.&mt('Points:').'</b></td><td>'.$radio.'</td><td>'.&mt('or').'</td><td>'.$line.'</td>'; |
'<td>'.$display_part.'</td><td>'.$radio.'</td><td>'.&mt('or').'</td><td>'.$line.'</td>'; |
$result.='</tr></table>'."\n"; |
$result.=&Apache::loncommon::end_data_table_row(); |
$result.='<input type="hidden" name="stores'.$counter.'_'.$partid.'" value="" />'."\n". |
$result.='<input type="hidden" name="stores'.$counter.'_'.$partid.'" value="" />'."\n". |
'<input type="hidden" name="oldpts'.$counter.'_'.$partid.'" value="'.$score.'" />'."\n". |
'<input type="hidden" name="oldpts'.$counter.'_'.$partid.'" value="'.$score.'" />'."\n". |
'<input type="hidden" name="solved'.$counter.'_'.$partid.'" value="'. |
'<input type="hidden" name="solved'.$counter.'_'.$partid.'" value="'. |
Line 2281 KEYWORDS
|
Line 2300 KEYWORDS
|
my @partlist; |
my @partlist; |
my @gradePartRespid; |
my @gradePartRespid; |
my @part_response_id = &flatten_responseType($responseType); |
my @part_response_id = &flatten_responseType($responseType); |
$request->print('<div class="LC_grade_assign">'. |
$request->print( |
|
'<div class="LC_grade_assign">' |
'<div class="LC_grade_assign_header">'. |
.'<div class="LC_grade_assign_header">' |
&mt('Assign Grades').'</div>'. |
.&mt('Assign Grades').'</div>' |
'<div class="LC_grade_assign_body">'); |
); |
|
$request->print(&gradeBox_start()); # <div class="LC_grade_assign_body"> |
foreach my $part_response_id (@part_response_id) { |
foreach my $part_response_id (@part_response_id) { |
my ($partid,$respid) = @{ $part_response_id }; |
my ($partid,$respid) = @{ $part_response_id }; |
my $part_resp = join('_',@{ $part_response_id }); |
my $part_resp = join('_',@{ $part_response_id }); |
Line 2297 KEYWORDS
|
Line 2317 KEYWORDS
|
push(@gradePartRespid,$partid.'.'.$respid); |
push(@gradePartRespid,$partid.'.'.$respid); |
$request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record)); |
$request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record)); |
} |
} |
$request->print('</div></div>'); |
$request->print(&gradeBox_end()); # </div> |
|
$request->print('</div>'); |
|
|
$request->print('<div class="LC_grade_info_links">'); |
$request->print('<div class="LC_grade_info_links">'); |
if ($perm{'vgr'}) { |
if ($perm{'vgr'}) { |
Line 4485 sub displayPage {
|
Line 4506 sub displayPage {
|
|
|
} |
} |
if (&canmodify($usec)) { |
if (&canmodify($usec)) { |
|
$studentTable.=&gradeBox_start(); |
foreach my $partid (@{$parts}) { |
foreach my $partid (@{$parts}) { |
$studentTable.=&gradeBox($request,$symbx,$uname,$udom,$question,$partid,\%record); |
$studentTable.=&gradeBox($request,$symbx,$uname,$udom,$question,$partid,\%record); |
$studentTable.='<input type="hidden" name="q_'.$question.'" value="'.$partid.'" />'."\n"; |
$studentTable.='<input type="hidden" name="q_'.$question.'" value="'.$partid.'" />'."\n"; |
$question++; |
$question++; |
} |
} |
|
$studentTable.=&gradeBox_end(); |
$prob++; |
$prob++; |
} |
} |
$studentTable.='</td></tr>'; |
$studentTable.='</td></tr>'; |
Line 7597 sub scantron_process_students {
|
Line 7620 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 7610 sub scantron_process_students {
|
Line 7640 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 7680 SCANTRONFORM
|
Line 7714 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 7693 SCANTRONFORM
|
Line 7733 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); |
|
|