--- loncom/interface/lonnavmaps.pm 2003/09/23 22:42:26 1.219.2.1.2.1 +++ loncom/interface/lonnavmaps.pm 2003/08/07 14:29:43 1.220 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.219.2.1.2.1 2003/09/23 22:42:26 albertel Exp $ +# $Id: lonnavmaps.pm,v 1.220 2003/08/07 14:29:43 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -129,9 +129,7 @@ sub real_handler { $r->send_http_header; # Create the nav map - my $navmap = Apache::lonnavmaps::navmap->new( - $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1, 1); + my $navmap = Apache::lonnavmaps::navmap->new(1, 1); if (!defined($navmap)) { @@ -1172,9 +1170,7 @@ sub render { if (!$ENV{'form.folderManip'} && !defined($args->{'iterator'})) { # Step 1: Check to see if we have a navmap if (!defined($navmap)) { - $navmap = Apache::lonnavmaps::navmap->new( - $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1, 1); + $navmap = Apache::lonnavmaps::navmap->new(1, 1); $mustCloseNavMap = 1; } $navmap->init(); @@ -1238,9 +1234,7 @@ sub render { # Step 1: Check to see if we have a navmap if (!defined($navmap)) { - $navmap = Apache::lonnavmaps::navmap->new($r, - $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1, 1); + $navmap = Apache::lonnavmaps::navmap->new(1, 1); $mustCloseNavMap = 1; } # Paranoia: Make sure it's ready @@ -1646,11 +1640,10 @@ To create a navmap object, use the follo =over 4 -=item * Bnew>(navHashFile, parmHashFile, +=item * Bnew>( genCourseAndUserOptions, genMailDiscussStatus, getUserData): -Binds a new navmap object to the compiled nav map hash and parm hash -given as filenames. genCourseAndUserOptions is a flag saying whether +Creates a new navmap object. genCourseAndUserOptions is a flag saying whether the course options and user options hash should be generated. This is for when you are using the parameters of the resources that require them; see documentation in resource object @@ -1692,8 +1685,6 @@ sub new { my $class = ref($proto) || $proto; my $self = {}; - $self->{NAV_HASH_FILE} = shift; - $self->{PARM_HASH_FILE} = shift; $self->{GENERATE_COURSE_USER_OPT} = shift; $self->{GENERATE_EMAIL_DISCUSS_STATUS} = shift; $self->{GET_USER_DATA} = shift; @@ -1710,12 +1701,13 @@ sub new { my %navmaphash; my %parmhash; - if (!(tie(%navmaphash, 'GDBM_File', $self->{NAV_HASH_FILE}, + my $courseFn = $ENV{"request.course.fn"}; + if (!(tie(%navmaphash, 'GDBM_File', "${courseFn}.db", &GDBM_READER(), 0640))) { return undef; } - if (!(tie(%parmhash, 'GDBM_File', $self->{PARM_HASH_FILE}, + if (!(tie(%parmhash, 'GDBM_File', "${courseFn}_parms.db", &GDBM_READER(), 0640))) { untie %{$self->{PARM_HASH}}; @@ -3902,11 +3894,6 @@ sub status { if ($completionStatus == NETWORK_FAILURE) { return NETWORK_FAILURE; } my $suppressFeedback = lc($self->parmval("problemstatus", $part)) eq 'no'; - # If there's an answer date and we're past it, don't - # suppress the feedback; student should know - if ($self->answerdate($part) && $self->answerdate($part) < time()) { - $suppressFeedback = 0; - } # There are a few whole rows we can dispose of: if ($completionStatus == CORRECT || @@ -3950,8 +3937,8 @@ sub status { if ($completionStatus == INCORRECT || $completionStatus == INCORRECT_BY_OVERRIDE) { # and there are TRIES LEFT: if ($self->tries($part) < $self->maxtries($part) || !$self->maxtries($part)) { - return $suppressFeedback ? ANSWER_SUBMITTED : TRIES_LEFT; - } + return TRIES_LEFT; + } return $suppressFeedback ? ANSWER_SUBMITTED : INCORRECT; # otherwise, return orange; student can't fix this }