--- loncom/interface/spreadsheet/studentcalc.pm 2006/04/06 16:43:49 1.37
+++ loncom/interface/spreadsheet/studentcalc.pm 2010/06/14 01:30:54 1.45
@@ -1,5 +1,5 @@
#
-# $Id: studentcalc.pm,v 1.37 2006/04/06 16:43:49 albertel Exp $
+# $Id: studentcalc.pm,v 1.45 2010/06/14 01:30:54 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,6 +59,8 @@ use Apache::assesscalc();
use HTML::Entities();
use Time::HiRes;
use Apache::lonlocal;
+use LONCAPA;
+
@Apache::studentcalc::ISA = ('Apache::Spreadsheet');
@@ -98,11 +100,15 @@ sub initialize_sequence_cache {
}
my @all_sequences = $navmap->retrieveResources(undef,
sub { shift->is_map(); },1,0,1);
- for my $sequence ($navmap->getById('0.0'), @all_sequences) {
- if ($navmap->hasResource($sequence,sub { shift->is_problem(); }, 0)){
- push(@Sequences,$sequence);
- &get_resources($sequence);
- }
+ my $toplevelseq = $navmap->getById('0.0');
+ if (!grep(/^\Q$toplevelseq\E$/,@all_sequences)) {
+ unshift(@all_sequences,$toplevelseq);
+ }
+ foreach my $sequence (@all_sequences) {
+ if ($navmap->hasResource($sequence,sub { shift->is_problem(); }, 0,1)){
+ push(@Sequences,$sequence);
+ &get_resources($sequence);
+ }
}
}
@@ -115,7 +121,7 @@ sub get_resources {
return () if (! defined($navmap) || ! ref($navmap));
my @resources = $navmap->retrieveResources($seq,
sub { shift->is_problem(); },
- 0,0,0);
+ 0,0,1);
$res_memoize{$seq->symb()}=\@resources;
return @resources;
}
@@ -221,16 +227,16 @@ END
}
$tableheader .="\n";
if ($self->blackout()) {
- $r->print(' '.
+ $r->print(' '.
&mt('Some computations are not available at this time.').'
'.
&mt('There are problems whose status you are not allowed to view.').
- '