--- loncom/homework/inputtags.pm 2003/01/24 22:32:08 1.82 +++ loncom/homework/inputtags.pm 2003/04/02 19:51:24 1.86 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.82 2003/01/24 22:32:08 www Exp $ +# $Id: inputtags.pm,v 1.86 2003/04/02 19:51:24 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -93,17 +93,17 @@ sub start_textfield { "rows=\"$rows\" cols=\"$cols\">".$oldresponse; if ($oldresponse ne '') { #get rid of any startup text if the user has already responded - &Apache::lonxml::get_all_text("/textfield",$$parser[-1]); + &Apache::lonxml::get_all_text("/textfield",$parser); } } else { #right or wrong don't show it #$result='
'.$oldresponse.'
'; $result=''; #get rid of any startup text - &Apache::lonxml::get_all_text("/textfield",$$parser[-1]); + &Apache::lonxml::get_all_text("/textfield",$parser); } } elsif ($target eq 'grade') { - my $seedtext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]); + my $seedtext=&Apache::lonxml::get_all_text("/textfield",$parser); if ($seedtext eq $ENV{'form.HWVAL'.$resid}) { # if the seed text is still there it wasn't a real submission $ENV{'form.HWVAL'.$resid}=''; @@ -112,7 +112,7 @@ sub start_textfield { $result.=&Apache::edit::tag_start($target,$token); $result.=&Apache::edit::text_arg('Rows:','rows',$token,4); $result.=&Apache::edit::text_arg('Columns:','cols',$token,4); - my $bodytext=&Apache::lonxml::get_all_text("/textfield",$$parser[-1]); + my $bodytext=&Apache::lonxml::get_all_text("/textfield",$parser); $result.=&Apache::edit::editfield($token->[1],$bodytext,'Text you want to appear by default:',80,2); } elsif ($target eq 'modified') { my $constructtag=&Apache::edit::get_new_args($token,$parstack, @@ -336,6 +336,7 @@ sub decideoutput { $message = "Unknown message: $award"; $button=1; } + if ($Apache::lonhomework::type eq 'exam') {$message='';$previousmsg='';} return ($button,$message,$previousmsg); } @@ -388,7 +389,7 @@ sub setgradedata { foreach my $key (keys(%Apache::lonhomework::results)) { if (($key =~ /^resource\.$id\./) && ($key !~ /\.collaborators$/)) { &Apache::lonxml::debug("Removing $key"); - delete($Apache::lonhomework::results{$key}); + delete($Apache::lonhomework::results{$key}); } } #and since they didn't do anything we were never here @@ -396,6 +397,17 @@ sub setgradedata { } else { $Apache::lonhomework::results{"resource.$id.previous"} = '0'; } + } elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~ + /^correct/ ) { + #delete all data as they student already has it correct + foreach my $key (keys(%Apache::lonhomework::results)) { + if (($key =~ /^resource\.$id\./) && ($key !~ /\.collaborators$/)) { + &Apache::lonxml::debug("Removing $key"); + delete($Apache::lonhomework::results{$key}); + } + } + #and since they didn't do anything we were never here + return ''; } $Apache::lonhomework::results{"resource.$id.award"} = $award; } @@ -478,6 +490,8 @@ sub gradestatus { if ($target eq 'tex') { if ($ENV{'request.state'} ne "construct") { $trystr = ' {\small \textit{Tries} '.$tries.'/'.$maxtries.'} \vskip 0 mm '; + } else { + $trystr = '\vskip 0 mm '; } } else { $trystr = "Tries $tries/$maxtries";