Diff for /loncom/interface/lonstatistics.pm between versions 1.148.2.3 and 1.156.2.2

version 1.148.2.3, 2010/01/11 04:11:52 version 1.156.2.2, 2013/03/18 01:28:27
Line 64  use Apache::lonpercentage; Line 64  use Apache::lonpercentage;
 use Apache::lonstudentsubmissions();  use Apache::lonstudentsubmissions();
 use Apache::lonsurveyreports();  use Apache::lonsurveyreports();
 use Apache::longradinganalysis();  use Apache::longradinganalysis();
   use Apache::lonquickgrades();
 use LONCAPA;  use LONCAPA;
   
 #  #
Line 405  sub StudentDataSelect { Line 406  sub StudentDataSelect {
     $Str .= 'size="'.$numvisible.'" >'."\n";      $Str .= 'size="'.$numvisible.'" >'."\n";
     #      #
     # Deal with 'all'      # Deal with 'all'
     $Str .= '    <option value="all" ';      $Str .= '    <option value="all"';
     foreach (@SelectedStudentData) {      foreach (@SelectedStudentData) {
         if ($_ eq 'all') {          if ($_ eq 'all') {
             $Str .= 'selected ';              $Str .= ' selected="selected"';
             last;              last;
         }          }
     }      }
     $Str .= ">all</option>\n";      $Str .= '>'.&mt('all')."</option>\n";
     #      #
     # Loop through the student data fields      # Loop through the student data fields
     foreach my $item (@StudentDataOrder) {      foreach my $item (@StudentDataOrder) {
         $Str .= '    <option value="'.$item.'" ';          $Str .= '    <option value="'.$item.'"';
         foreach (@SelectedStudentData) {          foreach (@SelectedStudentData) {
             if ($item eq $_ ) {              if ($item eq $_ ) {
                 $Str .= 'selected ';                  $Str .= ' selected="selected"';
                 last;                  last;
             }              }
         }          }
         $Str .= '>'.$item."</option>\n";          $Str .= '>'.&mt($item)."</option>\n";
     }      }
     $Str .= "</select>\n";      $Str .= "</select>\n";
     return $Str;      return $Str;
Line 506  sub map_select { Line 507  sub map_select {
     $form .= 'size="'.$numvisible.'" >'."\n";      $form .= 'size="'.$numvisible.'" >'."\n";
     #      #
     # Put in option for 'all'      # Put in option for 'all'
     $form .= '    <option value="all" ';      $form .= '    <option value="all"';
     if ($selected_maps[0] eq 'all') {      if ($selected_maps[0] eq 'all') {
         $form .= 'selected ';          $form .= ' selected="selected"';
     }      }
     $form .= ">all</option>\n";      $form .= ">all</option>\n";
     #      #
Line 521  sub map_select { Line 522  sub map_select {
         $navmap = shift(@sequences);          $navmap = shift(@sequences);
     }      }
     foreach my $seq (@sequences){      foreach my $seq (@sequences){
         $form .= '    <option value="'.$seq->symb.'" ';          $form .= '    <option value="'.$seq->symb.'"';
         foreach (@selected_maps) {          foreach (@selected_maps) {
             if ($seq->symb eq $_) {              if ($seq->symb eq $_) {
                 $form .= 'selected ';                  $form .= ' selected="selected"';
                 last;                  last;
             }              }
         }          }
Line 556  sub SectionSelect { Line 557  sub SectionSelect {
     #      #
     # Loop through the sequences      # Loop through the sequences
     foreach my $s (@Sections) {      foreach my $s (@Sections) {
         $Str .= '    <option value="'.$s.'" ';          $Str .= '    <option value="'.$s.'"';
         foreach (&get_selected_sections()) {          foreach (&get_selected_sections()) {
             if ($s eq $_) {              if ($s eq $_) {
                 $Str .= 'selected ';                  $Str .= ' selected="selected"';
                 last;                  last;
             }              }
         }          }
Line 591  sub GroupSelect { Line 592  sub GroupSelect {
     #      #
     # Loop through the groups      # Loop through the groups
     foreach my $s (@Groups) {      foreach my $s (@Groups) {
         $Str .= '    <option value="'.$s.'" ';          $Str .= '    <option value="'.$s.'"';
         foreach my $group (&get_selected_groups()) {          foreach my $group (&get_selected_groups()) {
             if ($s eq $group) {              if ($s eq $group) {
                 $Str .= 'selected ';                  $Str .= ' selected="selected"';
                 last;                  last;
             }              }
         }          }
Line 690  sub DisplayClasslist { Line 691  sub DisplayClasslist {
     }      }
   
     $Str .= '<h2>'.&mt('Select One Student').'</h2>'      $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()
            .&Apache::loncommon::start_data_table_header_row();             .&Apache::loncommon::start_data_table_header_row();
     foreach my $field (@Fields) {      foreach my $field (@Fields) {
Line 714  sub DisplayClasslist { Line 715  sub DisplayClasslist {
                 $Str .= '&sort='.&escape($env{'form.sort'});                  $Str .= '&sort='.&escape($env{'form.sort'});
                 $Str .= '&SelectedStudent=';                  $Str .= '&SelectedStudent=';
                 $Str .= &escape($sname).'">';                  $Str .= &escape($sname).'">';
                 $Str .= $student->{$field}.'&nbsp;';                  $Str .= $student->{$field};
                 $Str .= '</a>';                  $Str .= '</a>';
             } elsif ($field eq 'status') {              } elsif ($field eq 'status') {
                 $Str .= &mt($student->{$field});                  $Str .= &mt($student->{$field});
             } else {              } else {
                   if ($student->{$field} eq 'none') {
                       $Str .= &mt('none')
                   } else {
                       $Str .= $student->{$field};
                   }
                 $Str .= $student->{$field};                  $Str .= $student->{$field};
             }              }
             $Str .= '</td>';              $Str .= '</td>';
Line 749  sub CreateMainMenu { Line 755  sub CreateMainMenu {
                 
             {url => '/adm/statistics?reportSelected=problem_analysis',              {url => '/adm/statistics?reportSelected=problem_analysis',
  permission => 'F',   permission => 'F',
              icon => 'edit-find.png',               icon => 'prob_ana.png',
              linktext => ('Detailed Problem Analysis'),               linktext => ('Detailed Problem Analysis'),
              linktitle => ('Detailed statistics and graphs of student performance on problems.')},               linktitle => ('Detailed statistics and graphs of student performance on problems.')},
          ]},           ]},
Line 766  sub CreateMainMenu { Line 772  sub CreateMainMenu {
              icon => 'coprplot.png',               icon => 'coprplot.png',
              linktext => ('Correct Problems Plot'),               linktext => ('Correct Problems Plot'),
              linktitle => ('Display a histogram of student performance in the course.')},               linktitle => ('Display a histogram of student performance in the course.')},
          ]});           ]},
     unless(&Apache::loncommon::needs_gci_custom()) {  
         push(@reports,  
         {categorytitle => 'Reports',          {categorytitle => 'Reports',
          items => [           items => [
             {url => '/adm/statistics?reportSelected=student_submission_reports',              {url => '/adm/statistics?reportSelected=student_submission_reports',
Line 779  sub CreateMainMenu { Line 783  sub CreateMainMenu {
                                           
             {url => '/adm/statistics?reportSelected=survey_reports',              {url => '/adm/statistics?reportSelected=survey_reports',
  permission => 'F',   permission => 'F',
              icon => 'docs.png',               icon => 'survey_rep.png',
  linktext => ('Survey Reports'),   linktext => ('Survey Reports'),
              linktitle => ('Prepare reports on survey results.')},               linktitle => ('Prepare reports on survey results.')},
          ]});           ]});
     }  
           
 return &Apache::lonhtmlcommon::generate_menu(@reports);  return &Apache::lonhtmlcommon::generate_menu(@reports);
     
Line 795  sub handler { Line 798  sub handler {
     my $r=shift;      my $r=shift;
     my $c = $r->connection();      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      # Check for access
     if (! &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {      if (! &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
         $env{'user.error.msg'}=          $env{'user.error.msg'}=
Line 820  sub handler { Line 815  sub handler {
     &Apache::loncommon::content_type($r,'text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     if ($r->header_only) { return OK; }      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      # Extract form elements from query string
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
Line 877  ENDSTYLE Line 850  ENDSTYLE
     #      #
         if (! &Apache::lonmysql::verify_sql_connection()) {          if (! &Apache::lonmysql::verify_sql_connection()) {
             my $serveradmin = $r->dir_config('lonAdmEMail');              my $serveradmin = $r->dir_config('lonAdmEMail');
             $r->print('<h2 class="LC_error">'.              $r->print('<p class="LC_error">'.
                       &mt('Unable to connect to database!').                        &mt('Unable to connect to database!').
                       '</h2>');                        '</p>');
             $r->print('<p>'              $r->print('<p>'
                      .&mt('Please notify the server administrator [_1]',                       .&mt('Please notify the server administrator [_1]',
                          ,'<b>'.$serveradmin.'</b>')                           ,'<b>'.$serveradmin.'</b>')
Line 898  ENDSTYLE Line 871  ENDSTYLE
             &Apache::loncoursedata::delete_caches($env{'requres.course.id'});              &Apache::loncoursedata::delete_caches($env{'requres.course.id'});
         }          }
         #          #
           my $GoToPage = $env{'form.reportSelected'};
           #
         # Begin form output          # Begin form output
         $r->print('<form name="Statistics" ');          $r->print('<form name="Statistics" ');
           if ($GoToPage eq 'student_submission_reports') {
               $r->print('onsubmit="return checkanon();" ');
           }
         $r->print('method="post" action="/adm/statistics">');          $r->print('method="post" action="/adm/statistics">');
         $r->rflush();          $r->rflush();
         #  
         my $GoToPage = $env{'form.reportSelected'};  
         #  
         $r->print('<input type="hidden" name="reportSelected" value="'.          $r->print('<input type="hidden" name="reportSelected" value="'.
                   $GoToPage.'">');                    $GoToPage.'" />');
         if($GoToPage eq 'activitylog') {          if($GoToPage eq 'activitylog') {
 #        &Apache::lonproblemstatistics::Activity();  #        &Apache::lonproblemstatistics::Activity();
         } elsif($GoToPage eq 'problem_statistics') {          } elsif($GoToPage eq 'problem_statistics') {
Line 927  ENDSTYLE Line 902  ENDSTYLE
             &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c);              &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c);
         } elsif($GoToPage eq 'student_submission_reports') {          } elsif($GoToPage eq 'student_submission_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
             ({href=>                  ({href=>
               '/adm/statistics?reportselected=student_submission_reports',                    '/adm/statistics?reportselected=student_submission_reports',
               text=>'Student Submission Reports'});                    text=>'Student Submission Reports'});
             if ($gcicustom) {              &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
                 $r->print(&mt('Only aggregate performance data are available for Concept Tests.'));  
             } else {  
                 &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);  
             }  
         } elsif($GoToPage eq 'survey_reports') {          } elsif($GoToPage eq 'survey_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>                  ({href=>
Line 951  ENDSTYLE Line 922  ENDSTYLE
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=student_assessment',                  ({href=>'/adm/statistics?reportselected=student_assessment',
                   text=>'Chart'});                    text=>'Chart'});
             if ($gcicustom) {              &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
                 $r->print(&mt('Only aggregate performance data are available for Concept Tests.'));    
             } else {  
                 &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);  
             }  
         } elsif($GoToPage eq 'grading_analysis') {          } elsif($GoToPage eq 'grading_analysis') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=grading_anaylsis',                  ({href=>'/adm/statistics?reportselected=grading_anaylsis',

Removed from v.1.148.2.3  
changed lines
  Added in v.1.156.2.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>