--- loncom/interface/lonnavmaps.pm 2010/08/15 00:03:25 1.444.2.2
+++ loncom/interface/lonnavmaps.pm 2012/07/09 18:30:46 1.444.2.4.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.444.2.2 2010/08/15 00:03:25 raeburn Exp $
+# $Id: lonnavmaps.pm,v 1.444.2.4.2.1 2012/07/09 18:30:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
@@ -1504,23 +1504,20 @@ END
if ($args->{'caller'} eq 'navmapsdisplay') {
$result .= '
'.
- &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').' | ';
- if ($env{'environment.remotenavmap'} ne 'on') {
- $result .= ' | ';
- } else {
- $result .= '
';
- }
- $result.=''.&mt('Tools:').' | ';
- $result.=&show_linkitems_toolbar($args->{'linkitems'});
+ &Apache::loncommon::help_open_menu('Navigation Screen','Navigation_Screen',undef,'RAT').' | '.
+ ''.&mt('Tools:').' | '.
+ &show_linkitems_toolbar($args->{'linkitems'});
if ($args->{'sort_html'}) {
if ($env{'environment.remotenavmap'} ne 'on') {
- $result.=' | | | '.
- ''.$args->{'sort_html'}.' |
';
- } else {
- $result.=' '.
- $args->{'sort_html'}.' |
';
- }
- }
+ $result .= ' | | | '.
+ ''.$args->{'sort_html'}.' | ';
+ } else {
+ $result .= ' '.
+ $args->{'sort_html'}.' |
';
+ }
+ } else {
+ $result .= '';
+ }
$result .= '
';
} elsif ($args->{'sort_html'}) {
$result.=$args->{'sort_html'};
@@ -3497,6 +3494,8 @@ sub new {
$self->{NAV_MAP}->{RESOURCE_CACHE}->{$self->{ID}} = $self;
$self->{RESOURCE_ERROR} = 0;
+ $self->{DUEDATE_CACHE} = undef;
+
# A hash that can be used by two-pass algorithms to store data
# about this resource in. Not used by the resource object
# directly.
@@ -4074,6 +4073,9 @@ sub checkedin {
# this should work exactly like the copy in lonhomework.pm
sub duedate {
(my $self, my $part) = @_;
+ if (defined ($self->{DUEDATE_CACHE}->{$part})) {
+ return $self->{DUEDATE_CACHE}->{$part};
+ }
my $date;
my @interval=$self->parmval("interval", $part);
my $due_date=$self->parmval("duedate", $part);
@@ -4090,6 +4092,7 @@ sub duedate {
} else {
$date = $due_date;
}
+ $self->{DUEDATE_CACHE}->{$part} = $date;
return $date;
}
sub handgrade {
@@ -5005,7 +5008,7 @@ sub check_for_slot {
my $taskstatus = $self->taskstatus();
$is_correct = (($taskstatus eq 'pass') ||
($self->solved() =~ /^correct_/));
- $got_grade = ($self->solved() =~ /^(?:pass|fail)$/);
+ $got_grade = ($taskstatus =~ /^(?:pass|fail)$/);
} else {
$got_grade = 1;
$is_correct = ($self->solved() =~ /^correct_/);