--- loncom/interface/spreadsheet/Spreadsheet.pm 2005/05/15 04:02:17 1.48 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2005/05/15 04:49:42 1.49 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.48 2005/05/15 04:02:17 albertel Exp $ +# $Id: Spreadsheet.pm,v 1.49 2005/05/15 04:49:42 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -111,7 +111,8 @@ sub new { # # Flags temporary => 0, # true if this sheet has been modified but not saved - new_rows => 0, # true if this sheet has new rows + new_rows => 0, # true if this sheet has new rows + loaded => 0, # true if the formulas have been loaded # # blackout is used to determine if any data needs to be hidden from the # student. @@ -127,14 +128,6 @@ sub new { # bless($self,$class); # - # Load in the spreadsheet definition - $self->filename($filename); - if (exists($env{'form.workcopy'}) && - $self->{'type'} eq $env{'form.workcopy'}) { - $self->load_tmp(); - } else { - $self->load(); - } return $self; } @@ -976,6 +969,17 @@ sub formulas { $self->{'template_cells'} = []; return; } else { + if (!$self->{'loaded'}) { + $self->{'loaded'}=1; + # Load in the spreadsheet definition + $self->filename($filename); + if (exists($env{'form.workcopy'}) && + $self->{'type'} eq $env{'form.workcopy'}) { + $self->load_tmp(); + } else { + $self->load(); + } + } return %{$self->{'formulas'}}; } }