--- loncom/interface/lonnavdisplay.pm 2007/04/20 01:54:29 1.2
+++ loncom/interface/lonnavdisplay.pm 2014/05/22 12:23:04 1.28
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
-# Navigate Maps Handler
+# Navigate Maps Display Handler
#
-# $Id: lonnavdisplay.pm,v 1.2 2007/04/20 01:54:29 albertel Exp $
+# $Id: lonnavdisplay.pm,v 1.28 2014/05/22 12:23:04 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -30,14 +30,15 @@
package Apache::lonnavdisplay;
use strict;
-use Apache::Constants qw(:common :http);
+use Apache::Constants qw(:common :http REDIRECT);
use Apache::lonmenu();
use Apache::loncommon();
use Apache::lonnavmaps();
use Apache::lonhtmlcommon();
use Apache::lonnet;
use Apache::lonlocal;
-use Time::HiRes qw( gettimeofday tv_interval );
+use Apache::londocs();
+#use Time::HiRes qw( gettimeofday tv_interval );
sub handler {
my $r = shift;
@@ -58,6 +59,16 @@ sub real_handler {
return OK;
}
+ # Check for critical messages and redirect if present.
+ my ($redirect,$url) = &Apache::loncommon::critical_redirect(300);
+ if ($redirect) {
+ &Apache::loncommon::content_type($r,'text/html');
+ $r->header_out(Location => $url);
+ return REDIRECT;
+ }
+
+
+
# Send header, don't cache this page
if ($env{'browser.mathml'}) {
&Apache::loncommon::content_type($r,'text/xml');
@@ -67,65 +78,6 @@ sub real_handler {
&Apache::loncommon::no_cache($r);
my %toplinkitems=();
- &Apache::lonnavmaps::add_linkitem(\%toplinkitems,'blank','',
- "Select Action");
- if ($ENV{QUERY_STRING} eq 'collapseExternal') {
- &Apache::lonnet::put('environment',{'remotenavmap' => 'off'});
- &Apache::lonnet::appenv('environment.remotenavmap' => 'off');
- my $menu=&Apache::lonmenu::reopenmenu();
- my $navstatus=&Apache::lonmenu::get_nav_status();
- if ($menu) {
- $menu=(<
');
- $r->print('
- ');
- }
-
- if ($env{'environment.remotenavmap'} ne 'on') {
- $r->print(&launch_win('link','yes',\%toplinkitems));
- }
- if ($env{'environment.remotenavmap'} eq 'on') {
- &Apache::lonnavmaps::add_linkitem(\%toplinkitems,'closenav',
- 'collapse()',
- "Close navigation window");
- }
-
-
# Check to see if the student is jumping to next open, do-able problem
if ($ENV{QUERY_STRING} =~ /^jumpToFirstHomework/) {
# Find the next homework problem that they can do.
@@ -255,12 +198,20 @@ MENU
# If we found no problems, print a note to that effect.
if (!$foundDoableProblem) {
- $r->print("All homework assignments have been completed.
");
+ $r->print(""
+ .&mt("All homework assignments have been completed.")
+ ."");
}
} else {
- &Apache::lonnavmaps::add_linkitem(\%toplinkitems,'firsthomework',
- 'location.href="navmaps?jumpToFirstHomework"',
- "Show my first due problem");
+ my $link = 'navmaps?jumpToFirstHomework';
+ if ($env{'form.register'}) {
+ $link .= '®ister='.$env{'form.register'};
+ }
+ unless ($notools) {
+ &Apache::lonnavmaps::add_linkitem(\%toplinkitems,'firsthomework',
+ 'location.href="'.$link.'"',
+ "Show my first due problem");
+ }
}
my $suppressEmptySequences = 0;
@@ -275,33 +226,47 @@ MENU
$filterFunc = sub { my $res = shift;
return $res->completable() || $res->is_map();
};
+ my $link = 'navmaps?sort='.$env{'form.sort'};
+ if ($env{'form.register'}) {
+ $link .= '®ister='.$env{'form.register'};
+ }
&Apache::lonnavmaps::add_linkitem(\%toplinkitems,'everything',
- 'location.href="navmaps?sort='.$env{'form.sort'}.'"',
- "Show everything");
- $r->print("
".&mt("Uncompleted Problems")."
");
+ 'location.href="'.$link.'"',
+ 'Show everything');
+ $r->print("".&mt("Uncompleted Problems")."");
$env{'form.filter'} = '';
$env{'form.condition'} = 1;
$resource_no_folder_link = 1;
} else {
- &Apache::lonnavmaps::add_linkitem(\%toplinkitems,'uncompleted',
- 'location.href="navmaps?sort='.$env{'form.sort'}.
- '&showOnlyHomework=1"',
- "Show only uncompleted problems");
- }
-
- my %selected=($env{'form.sort'} => 'selected=on');
- my $sort_html=("");
+
+
+ ');
+ }
# renderer call
my $renderArgs = { 'cols' => [0,1,2,3],
'sort' => $env{'form.sort'},
@@ -314,54 +279,53 @@ MENU
'sort_html'=> $sort_html,
'r' => $r,
'caller' => 'navmapsdisplay',
- 'linkitems' => \%toplinkitems};
+ 'linkitems' => \%toplinkitems,
+ 'notools' => $notools};
+
my $render = &Apache::lonnavmaps::render($renderArgs);
# If no resources were printed, print a reassuring message so the
# user knows there was no error.
if ($renderArgs->{'counter'} == 0) {
if ($showOnlyHomework) {
- $r->print("
".&mt("All homework is currently completed").".
");
+ $r->print("
".&mt("All homework is currently completed.")."
");
} else { # both jumpToFirstHomework and normal use the same: course must be empty
- $r->print("