--- loncom/interface/lonstatistics.pm	2003/10/03 15:40:47	1.78.2.2
+++ loncom/interface/lonstatistics.pm	2003/08/27 21:33:33	1.79
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstatistics.pm,v 1.78.2.2 2003/10/03 15:40:47 albertel Exp $
+# $Id: lonstatistics.pm,v 1.79 2003/08/27 21:33:33 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -797,6 +797,44 @@ sub SectionSelect {
     return $Str;
 }
 
+###############################################
+###############################################
+
+=pod 
+
+=item &Gather_Student_Data()
+
+Ensures all student data is up to date.
+
+=cut
+
+###############################################
+###############################################
+sub Gather_Student_Data {
+    my ($r) = @_;
+    my $c = $r->connection();
+    #
+    my @Sequences = &Apache::lonstatistics::Sequences_with_Assess();
+    #
+    my @Students = @Apache::lonstatistics::Students;
+    #
+    # Open the progress window
+    my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
+        ($r,'Statistics Compilation Status',
+         'Statistics Compilation Progress', scalar(@Students));
+    #
+    while (my $student = shift @Students) {
+        return if ($c->aborted());
+        my ($status,undef) = &Apache::loncoursedata::ensure_current_data
+            ($student->{'username'},$student->{'domain'},
+             $ENV{'request.course.id'});
+        &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,
+                                                 'last student');
+    }
+    &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
+    $r->rflush();
+}
+
 ##################################################
 ##################################################
 sub DisplayClasslist {
@@ -926,10 +964,6 @@ sub handler {
     my $r=shift;
     my $c = $r->connection();
     #
-    &Apache::loncoursedata::clear_internal_caches();
-    #
-    &Apache::loncoursedata::clear_internal_caches();
-    #
     # Check for overloading
     my $loaderror=&Apache::lonnet::overloaderror($r);
     if ($loaderror) { return $loaderror; }