--- loncom/homework/structuretags.pm 2004/02/16 18:40:18 1.237 +++ loncom/homework/structuretags.pm 2004/02/16 19:50:10 1.239 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.237 2004/02/16 18:40:18 albertel Exp $ +# $Id: structuretags.pm,v 1.239 2004/02/16 19:50:10 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -395,6 +395,11 @@ sub start_problem { if ($target eq 'web') { &Apache::lonhomework::showhash(%Apache::lonhomework::history); } + if ($ENV{'request.state'} eq 'construct' && + $ENV{'form.problemstate'} eq 'CANNOT_ANSWER_correct' ) { + $Apache::lonhomework::history{'resource.0.solved'}= + 'correct_by_student'; + } $Apache::lonhomework::type=&Apache::lonnet::EXT('resource.0.type'); if (($ENV{'request.state'} eq 'construct') && defined($ENV{'form.problemtype'})) { @@ -1126,7 +1131,8 @@ sub start_notsolved { $target eq 'tex') { my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; &Apache::lonxml::debug("not solved has :$gradestatus:"); - if ($gradestatus =~ /^correct/) { + if ($gradestatus =~ /^correct/ && + &Apache::response::show_answer()) { &Apache::lonxml::debug("skipping"); &Apache::lonxml::get_all_text("/notsolved",$parser); } @@ -1143,7 +1149,8 @@ sub start_solved { if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || $target eq 'tex') { my $gradestatus=$Apache::lonhomework::history{"resource.$Apache::inputtags::part.solved"}; - if ($gradestatus !~ /^correct/) { + if ($gradestatus !~ /^correct/ || + !&Apache::response::show_answer()) { &Apache::lonxml::get_all_text("/solved",$parser); } }