--- loncom/interface/spreadsheet/studentcalc.pm 2006/10/02 17:04:33 1.41 +++ loncom/interface/spreadsheet/studentcalc.pm 2014/02/12 16:55:36 1.46 @@ -1,5 +1,5 @@ # -# $Id: studentcalc.pm,v 1.41 2006/10/02 17:04:33 raeburn Exp $ +# $Id: studentcalc.pm,v 1.46 2014/02/12 16:55:36 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -59,7 +59,6 @@ use Apache::assesscalc(); use HTML::Entities(); use Time::HiRes; use Apache::lonlocal; -use lib '/home/httpd/lib/perl/'; use LONCAPA; @@ -101,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); + } } } @@ -118,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; } @@ -224,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"); } @@ -304,7 +307,7 @@ END } else { $row_output .= 'Go To'; + '">'.&mt('Go To').''; $row_output .= ''.$resource->compTitle.''; } if ($self->blackout() && $self->{'blackout_rows'}->{$rownum}>0) { @@ -554,7 +557,7 @@ sub compute { } $self->initialize_safe_space(); &Apache::assesscalc::initialize_package($self->{'name'},$self->{'domain'}, - $navmap); + $navmap,$self); my %f = $self->formulas(); # # Process the formulas list -