--- loncom/interface/spreadsheet/classcalc.pm 2003/12/08 19:39:08 1.17 +++ loncom/interface/spreadsheet/classcalc.pm 2004/06/08 15:55:38 1.21 @@ -1,5 +1,5 @@ # -# $Id: classcalc.pm,v 1.17 2003/12/08 19:39:08 matthew Exp $ +# $Id: classcalc.pm,v 1.21 2004/06/08 15:55:38 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,10 +90,16 @@ sub html_header { $toprow .= ''.&mt($name).''; $bottomrow .= ''.$selector.''; } + my $status .= ''.&mt('Status: [_1]', + '' + ).''; + return "

\n\n". "".$toprow."\n". "".$bottomrow."\n". - "
\n

"; + "\n".$status."\n". + "

"; } sub get_title { @@ -285,7 +291,9 @@ sub output_options { description => 'Excel'}, {value => 'csv', description => 'Comma Separated Values'}, -); +# {value => 'xml', +# description => 'XML'}, + ); } sub outsheet_recursive_excel { @@ -297,6 +305,18 @@ sub outsheet_htmlclasslist { my $self = shift; my ($r) = @_; # + # Determine if we should output expire caches links... + my $show_expire_link = 0; + if (exists($ENV{'user.role.dc./'.$ENV{'request.role.domain'}.'/'})){ + $show_expire_link = 1; + } + # + if ($show_expire_link) { + $r->print(''. + &mt('Expire all student spreadsheets').''.$/); + } + # $r->print('

'. &mt('Click on a student to be taken to their spreadsheet'). '

'); @@ -320,8 +340,11 @@ sub outsheet_htmlclasslist { $header{'domain'} $header{'section'} $header{'status'} - END + if ($show_expire_link) { + $tableheader.= ' '; + } + $tableheader.= "\n"; # my $num_output = 0; foreach my $student (@Students) { @@ -337,13 +360,30 @@ END ''.$link.$student->{'username'}.''. ''.$student->{'domain'} .''. ''.$student->{'section'} .''. - ''.$student->{'status'} .''. - "\n"); + ''.$student->{'status'} .''); + if ($show_expire_link) { + $r->print(''. + 'Expire Record'.$/); + } + $r->print("\n"); } $r->print("

\n"); return; } +sub update_status { + my ($r,$message) = @_; + $r->print(''); + $r->rflush(); + return; +} + sub compute { my $self = shift; my ($r) = @_; @@ -352,12 +392,12 @@ sub compute { $self->initialize_safe_space(); my %c = $self->constants(); my %f = $self->formulas(); + &update_status($r,'Initializing Course Structure'); + &Apache::studentcalc::initialize_package(); my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin ($r,&mt('Spreadsheet Computation Status'), - &mt('Spreadsheet Computation'), scalar(@Students)); - &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state, - &mt('Processing course structure')); - &Apache::studentcalc::initialize_package(); + &mt('Spreadsheet Computation'), scalar(@Students),'inline',undef, + 'sheet','spreadsheet_status'); &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state, &mt('Processing first student')); foreach my $student (@Students) { @@ -388,11 +428,13 @@ sub compute { 'last student'); } &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); + &update_status($r,'Done computing student sheets'); $r->rflush(); $self->constants(\%c); $self->formulas(\%f); $self->calcsheet(); $self->save() if ($self->need_to_save()); + &update_status($r,'Done!'); } 1;