--- loncom/interface/spreadsheet/studentcalc.pm 2007/07/06 19:50:00 1.43 +++ loncom/interface/spreadsheet/studentcalc.pm 2017/12/31 15:27:03 1.47 @@ -1,5 +1,5 @@ # -# $Id: studentcalc.pm,v 1.43 2007/07/06 19:50:00 albertel Exp $ +# $Id: studentcalc.pm,v 1.47 2017/12/31 15:27:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -100,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,1)){ - 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_gradable(); }, 0,1)){ + push(@Sequences,$sequence); + &get_resources($sequence); + } } } @@ -116,7 +120,7 @@ sub get_resources { } return () if (! defined($navmap) || ! ref($navmap)); my @resources = $navmap->retrieveResources($seq, - sub { shift->is_problem(); }, + sub { shift->is_gradable(); }, 0,0,1); $res_memoize{$seq->symb()}=\@resources; return @resources; @@ -223,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.'). - '

'."\n"); + '

'."\n"); } else { $r->print($tableheader); # # Print out template row if (exists($env{'request.role.adv'}) && $env{'request.role.adv'}) { - $r->print('Template '. + $r->print(''.&mt('Template').' '. $self->html_template_row($num_uneditable, $importcolor)."\n"); } @@ -303,7 +307,7 @@ END } else { $row_output .= 'Go To'; + '">'.&mt('Go To').''; $row_output .= ''.$resource->compTitle.''; } if ($self->blackout() && $self->{'blackout_rows'}->{$rownum}>0) {