--- loncom/interface/statistics/lonstudentsubmissions.pm 2004/03/07 20:41:28 1.7 +++ loncom/interface/statistics/lonstudentsubmissions.pm 2004/03/16 16:30:32 1.9 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentsubmissions.pm,v 1.7 2004/03/07 20:41:28 matthew Exp $ +# $Id: lonstudentsubmissions.pm,v 1.9 2004/03/16 16:30:32 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -163,6 +163,7 @@ sub BuildStudentSubmissionsPage { ######################################################### sub prepare_excel_output { my ($r,$problem,$ProblemData,$Students) = @_; + my $c = $r->connection(); my ($resource,$respid,$partid) = ($problem->{'resource'}, $problem->{'respid'}, $problem->{'part'}); @@ -209,6 +210,7 @@ sub prepare_excel_output { # # Populate the worksheet with the student data foreach my $student (@$Students) { + last if ($c->aborted()); my $results = &Apache::loncoursedata::get_response_data_by_student ($student,$resource->{'symb'},$respid); my %row; @@ -288,17 +290,20 @@ sub prepare_excel_output { sub GetStudentAnswers { my ($r,$problem,$Students) = @_; + my $c = $r->connection(); my %Answers; my ($resource,$partid,$respid) = ($problem->{'resource'}, $problem->{'part'}, $problem->{'respid'}); + # Read in the cache (if it exists) before we start timing things. + &Apache::lonstathelpers::ensure_proper_cache($resource->{'symb'}); # Open progress window my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin ($r,'Student Answer Compilation Status', 'Student Answer Compilation Progress', scalar(@$Students)); - $r->print("\n"); $r->rflush(); foreach my $student (@$Students) { + last if ($c->aborted()); my $sname = $student->{'username'}; my $sdom = $student->{'domain'}; my $answer = &Apache::lonstathelpers::analyze_problem_as_student @@ -307,14 +312,14 @@ sub GetStudentAnswers { &mt('last student')); $student->{'answer'} = $answer; } - $r->print("
\n"); + &Apache::lonstathelpers::write_answer_cache(); + return if ($c->aborted()); $r->rflush(); # close progress window &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); return; } - ######################################################### ######################################################### ##