--- loncom/interface/lonmenu.pm 2016/04/04 17:24:05 1.444 +++ loncom/interface/lonmenu.pm 2016/04/05 02:02:28 1.445 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Routines to control the menu # -# $Id: lonmenu.pm,v 1.444 2016/04/04 17:24:05 raeburn Exp $ +# $Id: lonmenu.pm,v 1.445 2016/04/05 02:02:28 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -947,9 +947,14 @@ ENDMENUITEMS } } } + my $showprogress; + if (($crstype eq 'Placement') && (!$env{'request.role.adv'})) { + $showprogress = &placement_progress(); + } + + my $addremote=0; + foreach (@inlineremote) { if ($_ ne '') { $addremote=1; last;} } - my $addremote=0; - foreach (@inlineremote) { if ($_ ne '') { $addremote=1; last;} } if ($addremote) { my $countdown; if ($env{'request.filename'} =~ /\.page$/) { @@ -969,6 +974,9 @@ ENDMENUITEMS if ($countdown) { &Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$countdown); } + if ($showprogress) { + &Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$showprogress); + } } else { my @tools = @inlineremote[93,91,81,82,83]; if ($countdown) { @@ -987,6 +995,10 @@ ENDMENUITEMS } &advtools_crumbs(@inlineremote); } + } else { + if ($showprogress) { + &Apache::lonhtmlcommon::add_breadcrumb_tool('tools',$showprogress); + } } my ($topic_help,$topic_help_text); if ($is_const_dir == 2) { @@ -2534,6 +2546,13 @@ END return; } +sub placement_progress { + my ($totalpoints,$incomplete) = &Apache::lonplacementtest::check_completion(undef,undef,1); + my $complete = 100 - $incomplete; + return ''. + &mt('Test is [_1]% complete',$complete).''; +} + # ================================================================ Main Program BEGIN {