--- loncom/homework/lonhomework.pm 2003/06/06 04:22:46 1.133 +++ 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.133 2003/06/06 04:22:46 albertel 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'); @@ -417,7 +422,7 @@ sub analyze { } &Apache::lonhtmlcommon::Update_PrgWin($request,\%prog_state, 'Analyzing Results'); - foreach my $part (keys(%allparts)) { + foreach my $part (sort(keys(%allparts))) { if (defined(@{ $overall{$part.'.answer'} })) { my $num_cols=scalar(@{ $overall{$part.'.answer'}->[0] }); $request->print(''); @@ -469,15 +474,8 @@ sub editxmlmode { &renderpage($request,$file); } else { my ($rows,$cols) = &Apache::edit::textarea_sizes(\$problem); - my $xml_help = '
Part '.$part.'
'. - &Apache::loncommon::help_open_topic("Problem_Editor_XML_Index",'Problem Editing Help') - .''. - &Apache::loncommon::help_open_topic("Greek_Symbols",'Greek Symbols', - undef,undef,600) - .''. - &Apache::loncommon::help_open_topic("Other_Symbols",'Other Symbols', - undef,undef,600) - .'
'; + my $xml_help = Apache::loncommon::helpLatexCheatsheet("Problem_Editor_XML_Index", + "Problem Editing Help"); if ($cols > 80) { $cols = 80; } if ($cols < 70) { $cols = 70; } if ($rows < 20) { $rows = 20; } @@ -662,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; } } @@ -670,13 +671,17 @@ 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") { if ( -e $file ) { + &Apache::loncommon::get_unprocessed_cgi + ($ENV{'QUERY_STRING'},['problemmode']); if (!(defined $ENV{'form.problemmode'})) { #first visit to problem in construction space #&view_or_edit_menu($request);