version 1.271.2.6, 2011/03/05 23:01:35
|
version 1.284, 2011/03/07 22:11:50
|
Line 354 sub start_textline {
|
Line 354 sub start_textline {
|
unless ($newvariation) { |
unless ($newvariation) { |
$oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
$oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"}; |
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
&Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse)); |
|
|
if (ref($oldresponse) eq 'ARRAY') { |
if (ref($oldresponse) eq 'ARRAY') { |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
$oldresponse = $oldresponse->[$#Apache::inputtags::inputlist]; |
} |
} |
Line 686 sub valid_award {
|
Line 685 sub valid_award {
|
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_FAIL', 'NO_UNIT', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', |
'BAD_FORMULA', 'NOT_FUNCTION', 'WRONG_FORMAT', |
'BAD_FORMULA', 'NOT_FUNCTION', 'WRONG_FORMAT', |
'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'INTERNAL_ERROR', 'SIG_FAIL', 'INCORRECT', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'MISORDERED_RANK', 'INVALID_FILETYPE', |
'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'DRAFT', 'SUBMITTED', 'SUBMITTED_CREDIT', |
'DRAFT', 'SUBMITTED', 'SUBMITTED_CREDIT', |
Line 704 sub valid_award {
|
Line 703 sub valid_award {
|
'UNIT_INVALID_INSTRUCTOR', 'UNIT_INVALID_STUDENT', |
'UNIT_INVALID_INSTRUCTOR', 'UNIT_INVALID_STUDENT', |
'UNIT_IRRECONCIBLE', 'UNIT_FAIL', 'NO_UNIT', |
'UNIT_IRRECONCIBLE', 'UNIT_FAIL', 'NO_UNIT', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'NOT_FUNCTION', |
'UNIT_NOTNEEDED', 'WANTED_NUMERIC', 'BAD_FORMULA', 'NOT_FUNCTION', |
'WRONG_FORMAT', 'INTERNAL_ERROR', |
'WRONG_FORMAT', 'INTERNAL_ERROR', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'COMMA_FAIL', 'SIG_FAIL', 'INCORRECT', 'MISORDERED_RANK', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'INVALID_FILETYPE', 'EXCESS_FILESIZE', 'FILENAME_INUSE', |
'DRAFT', 'SUBMITTED', |
'DRAFT', 'SUBMITTED', |
Line 802 sub finalizeawards {
|
Line 801 sub finalizeawards {
|
} |
} |
|
|
sub decideoutput { |
sub decideoutput { |
my ($award,$awarded,$awardmsg,$solved,$previous,$target)=@_; |
my ($award,$awarded,$awardmsg,$solved,$previous,$target,$nocorrect)=@_; |
|
|
my $message=''; |
my $message=''; |
my $button=0; |
my $button=0; |
Line 820 sub decideoutput {
|
Line 819 sub decideoutput {
|
my $part = $Apache::inputtags::part; |
my $part = $Apache::inputtags::part; |
my $tohandgrade = &Apache::lonnet::EXT("resource.$part.handgrade"); |
my $tohandgrade = &Apache::lonnet::EXT("resource.$part.handgrade"); |
my $handgrade = ('yes' eq lc($tohandgrade)); |
my $handgrade = ('yes' eq lc($tohandgrade)); |
|
# |
|
# Should "Computer's Answer" be displayed? |
|
# Should not be displayed if still answerable, |
|
# if the problem is handgraded, |
|
# or if the problem does not give a correct answer |
|
# |
|
|
my $computer = ($handgrade)? '' |
my $computer = ($handgrade || $nocorrect)? '' |
: " ".&mt("Computer's answer now shown above."); |
: " ".&mt("Computer's answer now shown above."); |
&Apache::lonxml::debug("handgrade has :$handgrade:"); |
&Apache::lonxml::debug("handgrade has :$handgrade:"); |
|
|
Line 999 sub decideoutput {
|
Line 1004 sub decideoutput {
|
$message = &mt("Wrong format").'.'; |
$message = &mt("Wrong format").'.'; |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
} elsif ($award eq 'INTERNAL_ERROR') { |
} elsif ($award eq 'INTERNAL_ERROR') { |
$message = &mt("An internal error occurred while processing your answer. Please try again later."); |
$message = &mt("An internal error occurred while processing your answer. Please try again later."); |
$css_class=$possible_class{'not_charged_try'}; |
$css_class=$possible_class{'not_charged_try'}; |
$button=1; |
$button=1; |
Line 1089 sub decideoutput {
|
Line 1094 sub decideoutput {
|
} |
} |
$message.=&mt('Submissions to practice problems are not permanently recorded.'); |
$message.=&mt('Submissions to practice problems are not permanently recorded.'); |
} |
} |
|
|
return ($button,$css_class,$message,$previousmsg); |
return ($button,$css_class,$message,$previousmsg); |
} |
} |
|
|
Line 1142 sub setgradedata {
|
Line 1146 sub setgradedata {
|
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') { |
$Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER') { |
$Apache::lonhomework::results{"resource.$id.afterduedate"}=$award; |
$Apache::lonhomework::results{"resource.$id.afterduedate"}=$award; |
return ''; |
return ''; |
} elsif ( $Apache::lonhomework::history{"resource.$id.solved"} !~ |
} elsif ( $Apache::lonhomework::history{"resource.$id.awarded"} < 1 |
/^correct/ |
|
|| $Apache::lonhomework::scantronmode |
|| $Apache::lonhomework::scantronmode |
|| &Apache::lonhomework::hide_problem_status() ) { |
|| &Apache::lonhomework::hide_problem_status() ) { |
# the student doesn't already have it correct, |
# the student doesn't already have it correct, |
Line 1264 sub setgradedata {
|
Line 1267 sub setgradedata {
|
$Apache::lonhomework::results{"resource.$id.previous"} = '0'; |
$Apache::lonhomework::results{"resource.$id.previous"} = '0'; |
} |
} |
} |
} |
} elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~ |
} elsif ( $Apache::lonhomework::history{"resource.$id.awarded"} == 1 ) { |
/^correct/ ) { |
|
#delete all data as they student already has it correct |
#delete all data as they student already has it correct |
&removealldata($id); |
&removealldata($id); |
#and since they didn't do anything we were never here |
#and since they didn't do anything we were never here |
Line 1276 sub setgradedata {
|
Line 1278 sub setgradedata {
|
&Apache::response::add_to_gradingqueue(); |
&Apache::response::add_to_gradingqueue(); |
} |
} |
if (($Apache::lonhomework::type eq 'anonsurvey') || |
if (($Apache::lonhomework::type eq 'anonsurvey') || |
($Apache::lonhomework::type eq 'anonsurveycred') || |
($Apache::lonhomework::type eq 'anonsurveycred') || |
($Apache::lonhomework::type eq 'randomizetry')) { |
($Apache::lonhomework::type eq 'randomizetry')) { |
$Apache::lonhomework::results{"resource.$id.type"} = $Apache::lonhomework::type; |
$Apache::lonhomework::results{"resource.$id.type"} = $Apache::lonhomework::type; |
} |
} |
Line 1362 sub grade {
|
Line 1364 sub grade {
|
} |
} |
|
|
sub get_grade_messages { |
sub get_grade_messages { |
my ($id,$prefix,$target,$status) = @_; |
my ($id,$prefix,$target,$status,$nocorrect) = @_; |
|
# nocorrect suppresses "Computer's answer now shown above" |
my ($message,$latemessage,$trystr,$previousmsg); |
my ($message,$latemessage,$trystr,$previousmsg); |
my $showbutton = 1; |
my $showbutton = 1; |
|
|
Line 1377 sub get_grade_messages {
|
Line 1379 sub get_grade_messages {
|
&Apache::lonxml::debug('Getting message'); |
&Apache::lonxml::debug('Getting message'); |
($showbutton,my $css_class,$message,$previousmsg) = |
($showbutton,my $css_class,$message,$previousmsg) = |
&decideoutput($award,$awarded,$awardmsg,$solved,$previous, |
&decideoutput($award,$awarded,$awardmsg,$solved,$previous, |
$target); |
$target,(($status eq 'CAN_ANSWER') || $nocorrect)); |
if ($target eq 'tex') { |
if ($target eq 'tex') { |
$message='\vskip 2 mm '.$message.' '; |
$message='\vskip 2 mm '.$message.' '; |
} else { |
} else { |
Line 1410 sub get_grade_messages {
|
Line 1412 sub get_grade_messages {
|
$trystr = '<td><span class="LC_nobreak">'.&mt($tries_text)." $tries"; |
$trystr = '<td><span class="LC_nobreak">'.&mt($tries_text)." $tries"; |
if ($Apache::lonhomework::parsing_a_task) { |
if ($Apache::lonhomework::parsing_a_task) { |
} elsif($env{'request.state'} ne 'construct') { |
} elsif($env{'request.state'} ne 'construct') { |
$trystr.="/$maxtries"; |
$trystr.="/".&Apache::lonhtmlcommon::direct_parm_link($maxtries,$env{'request.symb'},'maxtries',$id,$target); |
} else { |
} else { |
if (defined($Apache::inputtags::params{'maxtries'})) { |
if (defined($Apache::inputtags::params{'maxtries'})) { |
$trystr.="/".$Apache::inputtags::params{'maxtries'}; |
$trystr.="/".$Apache::inputtags::params{'maxtries'}; |
Line 1506 sub previous_tries {
|
Line 1508 sub previous_tries {
|
$count++; |
$count++; |
$count_lookup{$i} = $count; |
$count_lookup{$i} = $count; |
my $curr_rndseed = $Apache::lonhomework::history{"$prefix.rndseed"}; |
my $curr_rndseed = $Apache::lonhomework::history{"$prefix.rndseed"}; |
|
|
my ($previousmsg,$latemessage,$message,$trystr); |
my ($previousmsg,$latemessage,$message,$trystr); |
|
|
($previousmsg,$latemessage,$message,$trystr) = |
($previousmsg,$latemessage,$message,$trystr) = |
Line 1542 sub previous_tries {
|
Line 1543 sub previous_tries {
|
if ($curr_rndseed ne $lastrndseed) { |
if ($curr_rndseed ne $lastrndseed) { |
$trystr .= '<br /><span style="color: green; white-space: nowrap; font-style: italic; font-weight: bold; font-size: 80%;">'.&mt('New problem variation this try.').'</span>'; |
$trystr .= '<br /><span style="color: green; white-space: nowrap; font-style: italic; font-weight: bold; font-size: 80%;">'.&mt('New problem variation this try.').'</span>'; |
} |
} |
} |
} |
$message =~ s{(</td>)}{ $trystr $1}; |
$message =~ s{(</td>)}{ $trystr $1}; |
} |
} |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |
my ($class) = ($message =~ m{<td.*class="([^"]*)"}); #" |