--- loncom/interface/spreadsheet/classcalc.pm 2003/05/27 14:52:45 1.5 +++ loncom/interface/spreadsheet/classcalc.pm 2003/05/29 13:39:38 1.6 @@ -1,5 +1,5 @@ # -# $Id: classcalc.pm,v 1.5 2003/05/27 14:52:45 matthew Exp $ +# $Id: classcalc.pm,v 1.6 2003/05/29 13:39:38 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -59,6 +59,18 @@ use Time::HiRes; @Apache::classcalc::ISA = ('Apache::Spreadsheet'); +## +## Package variable +## + +my @Students; + +sub initialize { + &Apache::lonstatistics::clear_classlist_variables(); + @Students = &Apache::lonstatistics::get_students(); + return; +} + sub html_header { my $self = shift; my ($toprow,$bottomrow); @@ -76,12 +88,6 @@ sub html_header { "\n

"; } -sub get_classlist { - my $self = shift; - # Retrieve the classlist and return it - return &Apache::lonstatistics::get_students(); -} - sub get_title { my $self = shift; # Section info should be included @@ -159,7 +165,7 @@ END } # my $num_output = 0; - foreach my $student ($self->get_classlist()) { + foreach my $student (@Students) { if ($num_output++ % 50 == 0) { $r->print("\n".$tableheader); } @@ -194,7 +200,7 @@ sub excel_rows { $rows_output++; # # Write each students row - foreach my $student ($self->get_classlist()) { + foreach my $student (@Students) { $cols_output = 0; my $rownum = $self->get_row_number_from_key ($student->{'username'}.':'.$student->{'domain'}); @@ -222,7 +228,7 @@ sub csv_rows { ('fullname','username','domain','section','status')); # # Write each students row - foreach my $student ($self->get_classlist()) { + foreach my $student (@Students) { my $rownum = $self->get_row_number_from_key ($student->{'username'}.':'.$student->{'domain'}); $student->{'section'} = 'none' if ($student->{'section'} eq '-1'); @@ -247,12 +253,11 @@ sub compute { $self->initialize_safe_space(); my %c = $self->constants(); my %f = $self->formulas(); - my @Students = $self->get_classlist(); my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin ($r,'Spreadsheet Computation Status', 'Spreadsheet Computation', scalar(@Students)); &Apache::studentcalc::initialize_package(); - foreach my $student ($self->get_classlist()) { + foreach my $student (@Students) { my $sname = $student->{'username'}.':'.$student->{'domain'}; my $studentsheet = Apache::studentcalc->new ($student->{'username'},$student->{'domain'},undef);