--- loncom/interface/lonnavmaps.pm 2003/05/14 18:34:44 1.189
+++ loncom/interface/lonnavmaps.pm 2003/06/13 13:58:06 1.203
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.189 2003/05/14 18:34:44 bowersj2 Exp $
+# $Id: lonnavmaps.pm,v 1.203 2003/06/13 13:58:06 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -47,6 +47,7 @@ use Apache::Constants qw(:common :http);
use Apache::loncommon();
use Apache::lonmenu();
use POSIX qw (floor strftime);
+use Data::Dumper; # for debugging, not always used
# symbolic constants
sub SYMB { return 1; }
@@ -71,7 +72,7 @@ my %statusIconMap =
$resObj->TRIES_LEFT => 'navmap.open.gif',
$resObj->INCORRECT => 'navmap.wrong.gif',
$resObj->OPEN => 'navmap.open.gif',
- $resObj->ATTEMPTED => 'navmap.open.gif',
+ $resObj->ATTEMPTED => 'navmap.ellipsis.gif',
$resObj->ANSWER_SUBMITTED => '' );
my %iconAltTags =
@@ -200,8 +201,10 @@ sub real_handler {
}
}
+ my $jumpToFirstHomework = 0;
# Check to see if the student is jumping to next open, do-able problem
if ($ENV{QUERY_STRING} eq 'jumpToFirstHomework') {
+ $jumpToFirstHomework = 1;
# Find the next homework problem that they can do.
my $iterator = $navmap->getIterator(undef, undef, undef, 1);
my $depth = 1;
@@ -216,9 +219,7 @@ sub real_handler {
if (ref($curRes) && $curRes->is_problem()) {
my $status = $curRes->status();
- if (($status == $curRes->OPEN ||
- $status == $curRes->TRIES_LEFT()) &&
- $curRes->getCompletionStatus() != $curRes->ATTEMPTED()) {
+ if ($curRes->completable()) {
$problemRes = $curRes;
$foundDoableProblem = 1;
@@ -246,15 +247,49 @@ sub real_handler {
"Go To My First Homework Problem
");
}
- # renderer call
- my $render = render({ 'cols' => [0,1,2,3],
- 'url' => '/adm/navmaps',
- 'navmap' => $navmap,
- 'suppressNavmap' => 1,
- 'r' => $r});
+ my $suppressEmptySequences = 0;
+ my $filterFunc = undef;
+ my $resource_no_folder_link = 0;
+
+ # Display only due homework.
+ my $showOnlyHomework = 0;
+ if ($ENV{QUERY_STRING} eq 'showOnlyHomework') {
+ $showOnlyHomework = 1;
+ $suppressEmptySequences = 1;
+ $filterFunc = sub { my $res = shift;
+ return $res->completable() || $res->is_map();
+ };
+ $r->print("
Uncompleted Homework
"); + $ENV{'form.filter'} = ''; + $ENV{'form.condition'} = 1; + $resource_no_folder_link = 1; + } else { + $r->print("" . + "Show Only Uncompleted HomeworkAll homework is currently completed.
"); + } else { # both jumpToFirstHomework and normal use the same: course must be empty + $r->print("This course is empty.
"); + } + } + $r->print("