--- loncom/homework/structuretags.pm 2016/09/14 02:42:43 1.550 +++ loncom/homework/structuretags.pm 2017/01/21 19:52:24 1.552 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.550 2016/09/14 02:42:43 raeburn Exp $ +# $Id: structuretags.pm,v 1.552 2017/01/21 19:52:24 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -676,7 +676,7 @@ sub setup_rndseed { } $env{'form.'.$Apache::inputtags::part.'.rndseed'}=$rndseed; } - if ( ($env{'form.resetdata'} eq &mt('New Problem Variation') + if ( ($env{'form.resetdata'} eq 'new_problem_variation' && $env{'form.submitted'} eq 'yes') || $env{'form.newrandomization'} eq &mt('New Randomization')) { srand(time); @@ -953,7 +953,8 @@ $show_all - +
@@ -1018,8 +1019,8 @@ sub initialize_storage { || $Apache::lonhomework::type eq 'practice') { my $namespace = $symb || $env{'request.uri'}; - if ($env{'form.resetdata'} eq &mt('Reset Submissions') || - ($env{'form.resetdata'} eq &mt('New Problem Variation') + if ($env{'form.resetdata'} eq 'reset_submissions' || + ($env{'form.resetdata'} eq 'new_problem_variation' && $env{'form.submitted'} eq 'yes') || $env{'form.newrandomization'} eq &mt('New Randomization')) { &Apache::lonnet::tmpreset($namespace,'',$domain,$name); @@ -1538,10 +1539,6 @@ sub start_problem { my ($timelimit) = split(/_/,$interval[0]); &Apache::lonnet::set_first_access($interval[1],$timelimit); } - - ($status,$accessmsg,$slot_name,$slot,$ipused) = - &Apache::lonhomework::check_slot_access('0','problem'); - push (@Apache::inputtags::status,$status); } if ($target eq 'web' || $target eq 'webgrade' || $target eq 'tex' @@ -1549,7 +1546,8 @@ sub start_problem { ($result,$form_tag_start,$probpartlist) = &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval, $name); - } elsif (($target eq 'grade') && ($Apache::lonhomework::type eq 'randomizetry')) { + } elsif ((($target eq 'grade') && ($Apache::lonhomework::type eq 'randomizetry')) || + ($target eq 'answer')) { my ($symb)= &Apache::lonnet::whichuser(); my $navmap = Apache::lonnavmaps::navmap->new(); if (ref($navmap)) { @@ -1560,6 +1558,15 @@ sub start_problem { } } + if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' || + $target eq 'tex') { + + my ($symb)= &Apache::lonnet::whichuser(); + ($status,$accessmsg,$slot_name,$slot,$ipused) = + &Apache::lonhomework::check_slot_access('0','problem',$symb,$probpartlist); + push (@Apache::inputtags::status,$status); + } + if ($target eq 'tex' and $env{'request.symb'} =~ m/\.page_/) {$result='';} if ($target eq 'analyze') { my $rndseed=&setup_rndseed($safeeval,$target); } @@ -1587,8 +1594,8 @@ sub start_problem { ($symb eq '' || $Apache::lonhomework::type eq 'practice')) { $form_tag_start.=''. - ''; + ''; if (exists($env{'form.username'})) { $form_tag_start.= ''. - &practice_problem_header().'
'; + $result.= ''. + &practice_problem_header().'
'; } } # if we are viewing someone else preserve that info @@ -2062,9 +2069,9 @@ sub start_library { ''; $result.=&problem_web_to_edit_header($rndseed); if ($Apache::lonhomework::type eq 'practice') { - $result.= ''. - &practice_problem_header().'
'; + $result.= ''. + &practice_problem_header().'
'; } } return $result;