--- loncom/homework/lonhomework.pm 2003/06/20 14:45:19 1.136 +++ loncom/homework/lonhomework.pm 2003/09/15 18:43:53 1.141 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.136 2003/06/20 14:45:19 bowersj2 Exp $ +# $Id: lonhomework.pm,v 1.141 2003/09/15 18:43:53 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -50,7 +50,7 @@ use Apache::essayresponse(); use Apache::externalresponse(); use Apache::rankresponse(); use Apache::matchresponse(); -#use Apache::chemresponse(); +use Apache::chemresponse(); use Apache::Constants qw(:common); use HTML::Entities(); use Apache::loncommon(); @@ -69,10 +69,14 @@ sub get_target { } elsif ( defined($ENV{'form.grade_target'} ) && ($Apache::lonhomework::viewgrades eq 'F' )) { return ($ENV{'form.grade_target'}); + } elsif (defined($ENV{'form.grade_target'} ) + && ($ENV{'form.grade_target'} eq 'answer')) { + return ($ENV{'form.grade_target'}); } if ( defined($ENV{'form.submitted'}) && - ( !defined($ENV{'form.resetdata'}))) { + ( !defined($ENV{'form.resetdata'})) && + ( !defined($ENV{'form.newrandomization'}))) { return ('grade', 'web'); } else { return ('web'); @@ -91,7 +95,8 @@ sub get_target { if ( $ENV{'form.problemmode'} eq 'View' || $ENV{'form.problemmode'} eq 'Discard Edits and View') { if ( defined($ENV{'form.submitted'}) && - (!defined($ENV{'form.resetdata'})) ) { + (!defined($ENV{'form.resetdata'})) && + (!defined($ENV{'form.newrandomization'}))) { return ('grade', 'web','answer'); } else { return ('web','answer'); @@ -655,7 +660,10 @@ sub handler { # if we are browsing we might not be able to know where we are if ($Apache::lonhomework::browse ne 'F') { #should know where we are, so ask - $request->internal_redirect('/adm/ambiguous'); return; + + &Apache::lonnet::cleanenv(); + + $request->internal_redirect('/adm/ambiguous'); return; } } @@ -663,9 +671,11 @@ sub handler { &Apache::lonxml::debug('symb is '.$symb); if ($ENV{'request.state'} eq "construct" || $symb eq '') { if ($ENV{'form.resetdata'} eq 'Reset Submissions' || - $ENV{'form.resetdata'} eq 'New Problem Variation' ) { + $ENV{'form.resetdata'} eq 'New Problem Variation' || + $ENV{'form.newrandomization'} eq 'New Randomization') { my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser(); &Apache::lonnet::tmpreset($symb,'',$domain,$name); +&Apache::lonxml::debug("Attempt reset"); } } if ($ENV{'request.state'} eq "construct") {