--- loncom/interface/lonstatistics.pm	2008/12/12 10:01:25	1.146
+++ loncom/interface/lonstatistics.pm	2010/01/11 04:11:52	1.148.2.3
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstatistics.pm,v 1.146 2008/12/12 10:01:25 bisitz Exp $
+# $Id: lonstatistics.pm,v 1.148.2.3 2010/01/11 04:11:52 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -400,7 +400,7 @@ sub StudentDataSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
@@ -501,7 +501,7 @@ sub map_select {
     my $form = "\n";
     $form .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $form .= 'multiple="true" ';
+        $form .= 'multiple="multiple" ';
     }
     $form .= 'size="'.$numvisible.'" >'."\n";
     #
@@ -550,7 +550,7 @@ sub SectionSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
@@ -585,7 +585,7 @@ sub GroupSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
@@ -766,7 +766,9 @@ sub CreateMainMenu {
              icon => 'coprplot.png',
              linktext => ('Correct Problems Plot'),
              linktitle => ('Display a histogram of student performance in the course.')},
-         ]},
+         ]});
+    unless(&Apache::loncommon::needs_gci_custom()) {
+        push(@reports,
         {categorytitle => 'Reports',
          items => [
             {url => '/adm/statistics?reportSelected=student_submission_reports',
@@ -781,6 +783,7 @@ sub CreateMainMenu {
 			 linktext => ('Survey Reports'),
              linktitle => ('Prepare reports on survey results.')},
          ]});
+    }
     
 return &Apache::lonhtmlcommon::generate_menu(@reports);
  
@@ -817,6 +820,28 @@ sub handler {
     &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;
     if ($r->header_only) { return OK; }
+    my $gcicustom = &Apache::loncommon::needs_gci_custom();
+    if ($gcicustom) {
+        my $now = time;
+        my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
+        my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
+        my $courseopt=&Apache::lonnet::get_courseresdata($cnum,$cdom);
+        my $duedate = $courseopt->{$env{'request.course.id'}.'.0.duedate'};
+        if ((!$duedate) || ($duedate > $now)) {
+            $r->print(&Apache::loncommon::start_page("Course Statistics"));
+            $r->print('<h3>'.&mt('Display of statistics').'</h3>');
+            if ($duedate > $now) { 
+                $r->print('<p>'.&mt('Aggregate test performance data will be available after the Concept Test end date: [_1].',
+                         &Apache::lonlocal::locallocaltime($duedate)).'</p>');
+            } else {
+                $r->print('<p>'.
+                          &mt('Aggregate test performance data unavailable without definition of an end date for the Concept Test.').'</p>');
+            }
+            $r->print(&Apache::loncommon::end_page());
+            return OK;
+        }
+    }
+
     #
     # Extract form elements from query string
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
@@ -861,7 +886,7 @@ ENDSTYLE
                      .'</p>');
             $r->print('<p>'.
                       &mt('Course Statistics and Charts cannot be '.
-                          'retrieved until the database is restarted.  '.
+                          'retrieved until the database is restarted. '.
                           'Your data is intact but cannot be displayed '.
                           'at this time.').'</p>');
             $r->print(&Apache::loncommon::end_page());
@@ -902,10 +927,14 @@ ENDSTYLE
             &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c);
         } elsif($GoToPage eq 'student_submission_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb
-                ({href=>
-                  '/adm/statistics?reportselected=student_submission_reports',
-                  text=>'Student Submission Reports'});
-            &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
+            ({href=>
+              '/adm/statistics?reportselected=student_submission_reports',
+              text=>'Student Submission Reports'});
+            if ($gcicustom) {
+                $r->print(&mt('Only aggregate performance data are available for Concept Tests.'));
+            } else {
+                &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
+            }
         } elsif($GoToPage eq 'survey_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>
@@ -922,7 +951,11 @@ ENDSTYLE
             &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=student_assessment',
                   text=>'Chart'});
-            &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
+            if ($gcicustom) {
+                $r->print(&mt('Only aggregate performance data are available for Concept Tests.'));  
+            } else {
+                &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
+            }
         } elsif($GoToPage eq 'grading_analysis') {
             &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=grading_anaylsis',