--- loncom/homework/structuretags.pm 2016/04/02 04:30:39 1.546 +++ loncom/homework/structuretags.pm 2016/04/04 17:34:01 1.549 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.546 2016/04/02 04:30:39 raeburn Exp $ +# $Id: structuretags.pm,v 1.549 2016/04/04 17:34:01 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1605,7 +1605,9 @@ sub start_problem { } elsif (($env{'request.state'} ne "construct") && ($Apache::lonhomework::type eq 'randomizetry') && ($status eq 'CAN_ANSWER') && - ($env{'course.'.$env{'request.course.id'}.'.type'} ne 'Placement')) { + ($env{'course.'.$env{'request.course.id'}.'.type'} ne 'Placement') && + (!$env{'request.role.adv'})) { +# "New Problem Variation Each Try" header suppressed for Placement Tests, unless course personnel. my $reqtries = &Apache::lonnet::EXT("resource.$Apache::inputtags::part.randomizeontries"); my $problemstatus = &get_problem_status($Apache::inputtags::part); $form_tag_start.=&randomizetry_problem_header($problemstatus,$reqtries); @@ -1926,8 +1928,36 @@ sub end_problem { # so document will be valid xhtml. # my $showdisc = 1; - if ($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement') { + if (($env{'course.'.$env{'request.course.id'}.'.type'} eq 'Placement') && + (!$env{'request.role.adv'})) { +# For Placement Tests footer with "Post Discussion" and "Send Feedback" links is suppressed. $showdisc = 0; + my ($symb)= &Apache::lonnet::whichuser(); + if ($symb) { + my $navmap = Apache::lonnavmaps::navmap->new(); + if (ref($navmap)) { + my $hastries = &Apache::lonplacementtest::has_tries($symb,$navmap); +# For Placement Tests test status is displayed if this is the last resource in the course +# and there are no tries left + unless ($hastries) { + if (&Apache::lonplacementtest::is_lastres($symb,$navmap)) { + my ($score,$incomplete) = + &Apache::lonplacementtest::check_completion(undef,undef,1); + if (!$incomplete) { + $result .= &Apache::lonplacementtest::showresult(1,1); + } elsif ($incomplete < 100) { + $result.= &Apache::lonplacementtest::showincomplete($incomplete,1); + } + } else { +# For Placement Tests score is displayed if test has just been completed + my ($score,$incomplete) = &Apache::lonplacementtest::check_completion(undef,undef,1); + if (!$incomplete) { + $result.= &Apache::lonplacementtest::showresult(1,1); + } + } + } + } + } } $result.= &Apache::loncommon::end_page({'discussion' => $showdisc, 'notbody' => 1});