--- loncom/interface/Attic/lonspreadsheet.pm 2003/02/13 22:22:01 1.170 +++ loncom/interface/Attic/lonspreadsheet.pm 2003/03/03 22:00:03 1.173 @@ -1,5 +1,5 @@ # -# $Id: lonspreadsheet.pm,v 1.170 2003/02/13 22:22:01 matthew Exp $ +# $Id: lonspreadsheet.pm,v 1.173 2003/03/03 22:00:03 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1886,6 +1886,22 @@ sub dump_values_to_log { } $self->logthis("--------------------------------------------------------");} +## +## Yet another debugging function +## +sub dump_hash_to_log { + my $self= shift(); + my %tmp = @_; + if (@_<2) { + %tmp = %{$_[0]}; + } + $self->logthis('---------------------------- (entries end with ":"'); + while (my ($key,$val) = each (%tmp)) { + $self->logthis($key.' = '.$val.':'); + } + $self->logthis('---------------------------- (entries end with ":"'); +} + ################################ ## Helper functions ## ################################ @@ -3126,14 +3142,17 @@ sub loadstudent{ my %formulas = $self->formulas(); $cachedassess = $self->{'uname'}.':'.$self->{'udom'}; # Get ALL the student preformance data - my @tmp = &Apache::lonnet::currentdump($self->{'cid'}, - $self->{'udom'}, - $self->{'uname'}); + my @tmp = &Apache::loncoursedata::get_current_state($self->{'uname'}, + $self->{'udom'}, + undef, + $self->{'cid'}); if ((scalar @tmp > 0) && ($tmp[0] !~ /^error:/)) { %cachedstores = @tmp; } undef @tmp; - # + # debugging code + # $self->dump_hash_to_log(\%cachedstores); + # my @assessdata=(); foreach my $row ($self->rows()) { my $cell = 'A'.$row; @@ -3166,7 +3185,7 @@ sub loadstudent{ $self->constants(\%constants); } -# --------------------------------------------------- Load data for one student +# --------------------------------------------------- Load Course Sheet # sub loadcourse { my $self = shift; @@ -3179,20 +3198,12 @@ sub loadcourse { foreach ($self->rows()) { $total++ if ($formulas{'A'.$_} !~ /^[!~-]/); } - my $now=0; - my $since=time; - $r->print(< - popwin=open('','popwin','width=400,height=100'); - popwin.document.writeln(''+ - '

Spreadsheet Calculation Progress

'+ - '
'+ - '
'+ - ''); - popwin.document.close(); - -ENDPOP - $r->rflush(); + + my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r, + 'Spreadsheet Status','Spreadsheet Calculation Progress', $total); + &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state, + 'Processing Course Assessment Data'); + # It would be nice to load in the classlist and assessment info at this # point, before attacking the student spreadsheets. foreach my $row ($self->rows()) { @@ -3206,12 +3217,8 @@ ENDPOP my @studentdata=$self->exportsheet($sname,$sdom,'studentcalc', undef,undef,$r); undef %userrdatas; - $now++; - $r->print(''); - $r->rflush(); - # + &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, + 'last student'); my $index=0; foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z') { @@ -3231,8 +3238,7 @@ ENDPOP } $self->formulas(\%formulas); $self->constants(\%constants); - $r->print(''); - $r->rflush(); + &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); } # ------------------------------------------------ Load data for one assessment