--- loncom/homework/inputtags.pm 2003/01/27 17:30:27 1.83 +++ loncom/homework/inputtags.pm 2003/03/17 21:33:33 1.85 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.83 2003/01/27 17:30:27 sakharuk Exp $ +# $Id: inputtags.pm,v 1.85 2003/03/17 21:33:33 albertel 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, @@ -388,7 +388,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 +396,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; }