--- loncom/interface/lonstatistics.pm	2008/12/12 10:01:25	1.146
+++ loncom/interface/lonstatistics.pm	2013/04/11 15:49:49	1.158
@@ -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.158 2013/04/11 15:49:49 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;
 
 #
@@ -400,30 +401,30 @@ sub StudentDataSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $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;
@@ -501,14 +502,14 @@ sub map_select {
     my $form = "\n";
     $form .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $form .= 'multiple="true" ';
+        $form .= 'multiple="multiple" ';
     }
     $form .= 'size="'.$numvisible.'" >'."\n";
     #
     # Put in option for 'all'
-    $form .= '    <option value="all" ';
+    $form .= '    <option value="all"';
     if ($selected_maps[0] eq 'all') {
-        $form .= 'selected ';
+        $form .= ' selected="selected"';
     }
     $form .= ">all</option>\n";
     #
@@ -521,10 +522,10 @@ sub map_select {
         $navmap = shift(@sequences);
     }
     foreach my $seq (@sequences){
-        $form .= '    <option value="'.$seq->symb.'" ';
+        $form .= '    <option value="'.$seq->symb.'"';
         foreach (@selected_maps) {
             if ($seq->symb eq $_) {
-                $form .= 'selected ';
+                $form .= ' selected="selected"';
                 last;
             }
         }
@@ -550,16 +551,16 @@ sub SectionSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
     # 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;
             }
         }
@@ -585,16 +586,16 @@ sub GroupSelect {
     my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';
     if ($status ne 'single') {
-        $Str .= 'multiple="true" ';
+        $Str .= 'multiple="multiple" ';
     }
     $Str .= 'size="'.$numvisible.'" >'."\n";
     #
     # 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;
             }
         }
@@ -614,7 +615,7 @@ sub DisplayClasslist {
     # Output some of the standard interface components
     my $Str;
     $Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student');
-    $Str .= '<p><table cellspacing="5">'."\n";
+    $Str .= '<table cellspacing="5">'."\n";
     $Str .= '<tr>';
     $Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>';
     $Str .= '<th align="center"><b>'.&mt('Groups').'</b></th>';
@@ -632,7 +633,7 @@ sub DisplayClasslist {
         '</td>';
     
     $Str .= '</tr>'.$/;
-    $Str .= '</table></p>';
+    $Str .= '</table>';
     $Str .= '<input type="submit" name="selectstudent" value="'.
         &mt('Update Display').'" />';
     $r->print($Str);
@@ -690,13 +691,13 @@ sub DisplayClasslist {
     }
 
     $Str .= '<h2>'.&mt('Select One Student').'</h2>'
-           .'<p>'.&mt("Click on a student's name or username to view their chart").'</p>'
+           .'<p>'.&mt("Click on a student's name or username to view their chart.").'</p>'
            .&Apache::loncommon::start_data_table()
            .&Apache::loncommon::start_data_table_header_row();
     foreach my $field (@Fields) {
         $Str .= '<th><a href="/adm/statistics?'.
-            'reportSelected=student_assessment&'.
-            'selectstudent=1&'.
+            'reportSelected=student_assessment&amp;'.
+            'selectstudent=1&amp;'.
             'sort='.$field.'">'.&mt($field).
             '</a></th>';
     }
@@ -711,15 +712,19 @@ sub DisplayClasslist {
             if ($field eq 'fullname' || $field eq 'username') {
                 $Str .= '<a href="/adm/statistics?reportSelected=';
                 $Str .= &escape('student_assessment');
-                $Str .= '&sort='.&escape($env{'form.sort'});
-                $Str .= '&SelectedStudent=';
+                $Str .= '&amp;sort='.&escape($env{'form.sort'});
+                $Str .= '&amp;SelectedStudent=';
                 $Str .= &escape($sname).'">';
-                $Str .= $student->{$field}.'&nbsp;';
+                $Str .= $student->{$field};
                 $Str .= '</a>';
             } elsif ($field eq 'status') {
                 $Str .= &mt($student->{$field});
             } else {
-                $Str .= $student->{$field};
+                if ($student->{$field} eq 'none') {
+                    $Str .= &mt('none')
+                } else {
+                    $Str .= $student->{$field};
+                }
             }
             $Str .= '</td>';
         }
@@ -749,7 +754,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.')},
          ]},
@@ -777,7 +782,7 @@ 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.')},
          ]});
@@ -792,14 +797,6 @@ 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'}=
@@ -846,22 +843,23 @@ 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()) {
             my $serveradmin = $r->dir_config('lonAdmEMail');
-            $r->print('<h2 class="LC_error">'.
+            $r->print('<p class="LC_error">'.
                       &mt('Unable to connect to database!').
-                      '</h2>');
+                      '</p>');
             $r->print('<p>'
                      .&mt('Please notify the server administrator [_1]',
                          ,'<b>'.$serveradmin.'</b>')
                      .'</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());
@@ -873,15 +871,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') {
@@ -932,6 +932,7 @@ ENDSTYLE
         #
         $r->print("</form>\n");
     }
+    &Apache::lonquickgrades::endGradeScreen($r);
     $r->print(&Apache::loncommon::end_page());
     $r->rflush();
     #