--- loncom/interface/lonnavmaps.pm 2003/07/25 01:18:04 1.218 +++ loncom/interface/lonnavmaps.pm 2003/09/23 22:42:26 1.219.2.1.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.218 2003/07/25 01:18:04 bowersj2 Exp $ +# $Id: lonnavmaps.pm,v 1.219.2.1.2.1 2003/09/23 22:42:26 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2027,7 +2027,7 @@ sub parmval { sub parmval_real { my $self = shift; - my ($what,$symb) = @_; + my ($what,$symb,$recurse) = @_; my $cid=$ENV{'request.course.id'}; my $csec=$ENV{'request.course.sec'}; @@ -2099,9 +2099,12 @@ sub parmval_real { my $id=pop(@parts); my $part=join('_',@parts); if ($part eq '') { $part='0'; } - my $partgeneral=$self->parmval($part.".$qualifier",$symb); + my $partgeneral=$self->parmval($part.".$qualifier",$symb,1); if (defined($partgeneral)) { return $partgeneral; } } + if ($recurse) { return undef; } + my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$what); + if (defined($pack_def)) { return $pack_def; } return ''; } @@ -3899,6 +3902,11 @@ 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 || @@ -3942,8 +3950,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 TRIES_LEFT; - } + return $suppressFeedback ? ANSWER_SUBMITTED : TRIES_LEFT; + } return $suppressFeedback ? ANSWER_SUBMITTED : INCORRECT; # otherwise, return orange; student can't fix this }