--- loncom/interface/lonstatistics.pm	2010/12/05 17:27:30	1.148.2.7
+++ loncom/interface/lonstatistics.pm	2012/03/20 16:03:54	1.155
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstatistics.pm,v 1.148.2.7 2010/12/05 17:27:30 raeburn Exp $
+# $Id: lonstatistics.pm,v 1.155 2012/03/20 16:03:54 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -64,6 +64,7 @@ use Apache::lonpercentage;
 use Apache::lonstudentsubmissions();
 use Apache::lonsurveyreports();
 use Apache::longradinganalysis();
+use Apache::lonquickgrades();
 use LONCAPA;
 
 #
@@ -405,25 +406,25 @@ sub StudentDataSelect {
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
     # Deal with 'all'
-    $Str .= '    <option value="all" ';
+    $Str .= '    <option value="all"';
     foreach (@SelectedStudentData) {
         if ($_ eq 'all') {
-            $Str .= 'selected ';
+            $Str .= ' selected="selected"';
             last;
         }
     }
-    $Str .= ">all</option>\n";
+    $Str .= '>'.&mt('all')."</option>\n";
     #
     # Loop through the student data fields
     foreach my $item (@StudentDataOrder) {
-        $Str .= '    <option value="'.$item.'" ';
+        $Str .= '    <option value="'.$item.'"';
         foreach (@SelectedStudentData) {
             if ($item eq $_ ) {
-                $Str .= 'selected ';
+                $Str .= ' selected="selected"';
                 last;
             }
         }
-        $Str .= '>'.$item."</option>\n";
+        $Str .= '>'.&mt($item)."</option>\n";
     }
     $Str .= "</select>\n";
     return $Str;
@@ -456,27 +457,11 @@ sub selected_sequences_with_assessments
         return ('Can not open Coursemap');
     }
     #
-    my $mapurl;
-    if (&Apache::loncommon::needs_gci_custom()) {
-        my $cid = $env{'request.course.id'};
-        if ($cid) {
-            my $cdom = $env{'course.'.$cid.'.domain'};
-            if ($cdom =~ /^\w+citest$/) {
-                my $sequence = &Apache::loncommon::get_citest_map($cdom);
-                my $cnum = $env{'course.'.$cid.'.num'};  
-                if ($sequence) {
-                    $mapurl = '/uploaded/'.$cdom.'/'.$cnum.'/'.$sequence;
-                }
-            }
-        }
-    }
-    my @sequences = $navmap->retrieveResources($mapurl,
+    my @sequences = $navmap->retrieveResources(undef,
                                                sub { shift->is_map(); },1,0,1);
-    unless (&Apache::loncommon::needs_gci_custom()) {
-        my $toplevelseq = $navmap->getById('0.0');
-        if (!grep(/^\Q$toplevelseq\E$/,@sequences)) {
-            unshift(@sequences,$toplevelseq);
-        }
+    my $toplevelseq = $navmap->getById('0.0');
+    if (!grep(/^\Q$toplevelseq\E$/,@sequences)) {
+        unshift(@sequences,$toplevelseq);
     }
 
     my @sequences_with_assessments;
@@ -520,15 +505,13 @@ sub map_select {
         $form .= 'multiple="multiple" ';
     }
     $form .= 'size="'.$numvisible.'" >'."\n";
-    unless (&Apache::loncommon::needs_gci_custom()) {
-        #
-        # Put in option for 'all'
-        $form .= '    <option value="all" ';
-        if ($selected_maps[0] eq 'all') {
-            $form .= 'selected ';
-        }
-        $form .= ">all</option>\n";
+    #
+    # Put in option for 'all'
+    $form .= '    <option value="all"';
+    if ($selected_maps[0] eq 'all') {
+        $form .= ' selected="selected"';
     }
+    $form .= ">all</option>\n";
     #
     # Loop through the sequences
     my @sequences = &selected_sequences_with_assessments('all');
@@ -539,15 +522,11 @@ sub map_select {
         $navmap = shift(@sequences);
     }
     foreach my $seq (@sequences){
-        $form .= '    <option value="'.$seq->symb.'" ';
-        if ((&Apache::loncommon::needs_gci_custom()) && (@selected_maps == 1)) {
-            $form .= 'selected ';
-        } else {
-            foreach (@selected_maps) {
-                if ($seq->symb eq $_) {
-                    $form .= 'selected ';
-                    last;
-                }
+        $form .= '    <option value="'.$seq->symb.'"';
+        foreach (@selected_maps) {
+            if ($seq->symb eq $_) {
+                $form .= ' selected="selected"';
+                last;
             }
         }
         $form .= '>'.$seq->compTitle."</option>\n";
@@ -578,10 +557,10 @@ sub SectionSelect {
     #
     # Loop through the sequences
     foreach my $s (@Sections) {
-        $Str .= '    <option value="'.$s.'" ';
+        $Str .= '    <option value="'.$s.'"';
         foreach (&get_selected_sections()) {
             if ($s eq $_) {
-                $Str .= 'selected ';
+                $Str .= ' selected="selected"';
                 last;
             }
         }
@@ -613,10 +592,10 @@ sub GroupSelect {
     #
     # Loop through the groups
     foreach my $s (@Groups) {
-        $Str .= '    <option value="'.$s.'" ';
+        $Str .= '    <option value="'.$s.'"';
         foreach my $group (&get_selected_groups()) {
             if ($s eq $group) {
-                $Str .= 'selected ';
+                $Str .= ' selected="selected"';
                 last;
             }
         }
@@ -771,7 +750,7 @@ sub CreateMainMenu {
        
             {url => '/adm/statistics?reportSelected=problem_analysis',
 			 permission => 'F',
-             icon => 'edit-find.png',
+             icon => 'prob_ana.png',
              linktext => ('Detailed Problem Analysis'),
              linktitle => ('Detailed statistics and graphs of student performance on problems.')},
          ]},
@@ -788,19 +767,7 @@ sub CreateMainMenu {
              icon => 'coprplot.png',
              linktext => ('Correct Problems Plot'),
              linktitle => ('Display a histogram of student performance in the course.')},
-         ]});
-    if (&Apache::loncommon::needs_gci_custom()) {
-        push(@reports,
-        {categorytitle => 'Reports',
-         items => [
-            {url => '/adm/statistics?reportSelected=student_submission_reports',
-                         permission => 'F',
-             icon => 'edit-copy.png',
-             linktext => ('Student Submission Reports'),
-             linktitle => ('Prepare reports of student submissions.')},
-         ]});
-    } else {
-        push(@reports,
+         ]},
         {categorytitle => 'Reports',
          items => [
             {url => '/adm/statistics?reportSelected=student_submission_reports',
@@ -811,28 +778,21 @@ sub CreateMainMenu {
                     
             {url => '/adm/statistics?reportSelected=survey_reports',
 			 permission => 'F',
-             icon => 'docs.png',
+             icon => 'survey_rep.png',
 			 linktext => ('Survey Reports'),
              linktitle => ('Prepare reports on survey results.')},
          ]});
-    }
     
 return &Apache::lonhtmlcommon::generate_menu(@reports);
  
 }
 
+
+
 sub handler {
     my $r=shift;
     my $c = $r->connection();
     #
-    # Check for overloading
-    my $loaderror=&Apache::lonnet::overloaderror($r);
-    if ($loaderror) { return $loaderror; }
-    $loaderror=
-       &Apache::lonnet::overloaderror($r,
-         $env{'course.'.$env{'request.course.id'}.'.home'});
-    if ($loaderror) { return $loaderror; }
-    #
     # Check for access
     if (! &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
         $env{'user.error.msg'}=
@@ -850,32 +810,6 @@ 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)) {
-            my $brcrum = [{href=> '/adm/statistics',
-                           text=> 'Statistics',}];
-            my $args = {bread_crumbs           => $brcrum,
-                        bread_crumbs_component => 'Statistics Main Page'};
-            $r->print(&Apache::loncommon::start_page('Course Statistics',undef,$args));
-            $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'},
@@ -905,8 +839,9 @@ ENDSTYLE
                                             bug=>'Statistics and Charts'});
     if (! exists($env{'form.reportSelected'}) || 
         $env{'form.reportSelected'} eq '') {
-        $r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page').
-                  &CreateMainMenu());
+        $r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page'));
+        &Apache::lonquickgrades::startGradeScreen($r,'statistics');
+        $r->print(&CreateMainMenu());
     } else {
     #
         if (! &Apache::lonmysql::verify_sql_connection()) {
@@ -932,15 +867,17 @@ ENDSTYLE
             &Apache::loncoursedata::delete_caches($env{'requres.course.id'});
         }
         #
+        my $GoToPage = $env{'form.reportSelected'};
+        #
         # Begin form output
         $r->print('<form name="Statistics" ');
+        if ($GoToPage eq 'student_submission_reports') {
+            $r->print('onsubmit="return checkanon();" ');
+        }
         $r->print('method="post" action="/adm/statistics">');
         $r->rflush();
-        #
-        my $GoToPage = $env{'form.reportSelected'};
-        #
         $r->print('<input type="hidden" name="reportSelected" value="'.
-                  $GoToPage.'">');
+                  $GoToPage.'" />');
         if($GoToPage eq 'activitylog') {
 #        &Apache::lonproblemstatistics::Activity();
         } elsif($GoToPage eq 'problem_statistics') {
@@ -961,9 +898,9 @@ 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'});
+                ({href=>
+                  '/adm/statistics?reportselected=student_submission_reports',
+                  text=>'Student Submission Reports'});
             &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
         } elsif($GoToPage eq 'survey_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb
@@ -981,11 +918,7 @@ ENDSTYLE
             &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=student_assessment',
                   text=>'Chart'});
-            if ($gcicustom) {
-                $r->print(&mt('Only aggregate performance data are available for Concept Tests.'));  
-            } else {
-                &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
-            }
+            &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
         } elsif($GoToPage eq 'grading_analysis') {
             &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=grading_anaylsis',
@@ -995,6 +928,7 @@ ENDSTYLE
         #
         $r->print("</form>\n");
     }
+    &Apache::lonquickgrades::endGradeScreen($r);
     $r->print(&Apache::loncommon::end_page());
     $r->rflush();
     #