Diff for /loncom/interface/lonstatistics.pm between versions 1.98 and 1.108

version 1.98, 2004/02/20 16:24:20 version 1.108, 2004/07/15 21:08:45
Line 77  use Apache::lonproblemstatistics(); Line 77  use Apache::lonproblemstatistics();
 use Apache::lonstudentassessment();  use Apache::lonstudentassessment();
 use Apache::lonpercentage;  use Apache::lonpercentage;
 use Apache::lonstudentsubmissions();  use Apache::lonstudentsubmissions();
   use Apache::lonsurveyreports();
   
 #######################################################  #######################################################
 #######################################################  #######################################################
Line 228  sub PrepareClasslist { Line 229  sub PrepareClasslist {
     }      }
     #      #
     # Set up %StudentData      # Set up %StudentData
     @StudentDataOrder = qw/fullname username domain id section status/;      @StudentDataOrder = qw/fullname username domain id section status comments/;
     foreach my $field (@StudentDataOrder) {      foreach my $field (@StudentDataOrder) {
         $StudentData{$field}->{'title'} = $field;          $StudentData{$field}->{'title'} = &mt($field);
         $StudentData{$field}->{'base_width'} = length($field);          $StudentData{$field}->{'base_width'} = length(&mt($field));
         $StudentData{$field}->{'width'} =           $StudentData{$field}->{'width'} = 
                                $StudentData{$field}->{'base_width'};                                 $StudentData{$field}->{'base_width'};
     }      }
Line 471  assessments. Line 472  assessments.
 #######################################################  #######################################################
 #######################################################  #######################################################
 sub Sequences_with_Assess {  sub Sequences_with_Assess {
       my ($mode) = @_;
       $mode = 'selected' if (! defined($mode));
     my @Sequences_to_Show;      my @Sequences_to_Show;
     foreach my $map_symb (@SelectedMaps) {      foreach my $sequence (@Sequences) {
         foreach my $sequence (@Sequences) {          next if ($sequence->{'num_assess'} < 1);
             next if ($sequence->{'symb'} ne $map_symb && $map_symb ne 'all');          if ($mode eq 'all') {
             next if ($sequence->{'num_assess'} < 1);  
             push (@Sequences_to_Show,$sequence);              push (@Sequences_to_Show,$sequence);
           } elsif ($mode eq 'selected') {
               foreach my $map_symb (@SelectedMaps) {
                   if ($sequence->{'symb'} eq $map_symb || $map_symb eq 'all'){
                       push (@Sequences_to_Show,$sequence);
                       last; # Only put it in once
                   }
               }
         }          }
   
     }      }
     return @Sequences_to_Show;      return @Sequences_to_Show;
 }  }
Line 896  Ensures all student data is up to date. Line 906  Ensures all student data is up to date.
 ###############################################  ###############################################
 ###############################################  ###############################################
 sub Gather_Full_Student_Data {  sub Gather_Full_Student_Data {
     my ($r) = @_;      my ($r,$formname,$inputname) = @_;
       my $status_type;
       if (defined($formname)) {
           $status_type = 'inline';
       } else {
           $status_type = 'popup';
       }
     my $c = $r->connection();      my $c = $r->connection();
     #      #
     &Apache::loncoursedata::clear_internal_caches();      &Apache::loncoursedata::clear_internal_caches();
Line 906  sub Gather_Full_Student_Data { Line 922  sub Gather_Full_Student_Data {
     # Open the progress window      # Open the progress window
     my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin      my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
         ($r,&mt('Student Data Compilation Status'),          ($r,&mt('Student Data Compilation Status'),
          &mt('Student Data Compilation Progress'), scalar(@Students));           &mt('Student Data Compilation Progress'), scalar(@Students),
            $status_type,undef,$formname,$inputname);
     #      #
     while (my $student = shift @Students) {      while (my $student = shift @Students) {
         return if ($c->aborted());          return if ($c->aborted());
Line 924  sub Gather_Full_Student_Data { Line 941  sub Gather_Full_Student_Data {
 ##################################################  ##################################################
 sub DisplayClasslist {  sub DisplayClasslist {
     my ($r)=@_;      my ($r)=@_;
       &Apache::lonhtmlcommon::add_breadcrumb
           ({text=>'Select One Student'});
       #
       # Output some of the standard interface components
       my $Str;
       $Str .= &Apache::lonhtmlcommon::breadcrumbs(undef,'Select One Student');
       $Str .= '<p><table cellspacing="5">'."\n";
       $Str .= '<tr>';
       $Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>';
       $Str .= '<th align="center"><b>'.&mt('Enrollment Status').'</b></th>';
       $Str .= '</tr>'.$/;
       $Str .= '<tr>';
       $Str .= '<td>'.
           &Apache::lonstatistics::SectionSelect('Section','multiple',5).
           '</td>';
       $Str .= '<td>'.
           &Apache::lonhtmlcommon::StatusOptions(undef,undef,5).
           '</td>';
       
       $Str .= '</tr>'.$/;
       $Str .= '</table></p>';
       $Str .= '<input type="submit" name="selectstudent" value="'.
           &mt('Update Display').'" />';
       $r->print($Str);
       $r->rflush();
     #      #
     my @Fields = ('fullname','username','domain','id','section');      my @Fields = ('fullname','username','domain','id','section','status');
     #      #
     my $Str='';      $Str = '';
     if (! @Students) {      if (! @Students) {
         if ($SelectedSections[0] eq 'all') {           if ($SelectedSections[0] eq 'all') { 
             if (lc($ENV{'form.Status'}) eq 'any') {              if (lc($ENV{'form.Status'}) eq 'any') {
                 $Str .= '<h2>There are no students in the course.</h2>';                  $Str .= '<h2>'.
                       &mt('There are no students in the course.').
                       '</h2>';
             } elsif (lc($ENV{'form.Status'}) eq 'active') {              } elsif (lc($ENV{'form.Status'}) eq 'active') {
                 $Str .= '<h2>There are no currently enrolled students in '.                  $Str .= '<h2>'.
                     'the course.</h2>';                  &mt('There are no currently enrolled students in the course.').
                       '</h2>';
             } elsif (lc($ENV{'form.Status'}) eq 'expired') {              } elsif (lc($ENV{'form.Status'}) eq 'expired') {
                 $Str .= '<h2>There are no previously enrolled '.                  $Str .= '<h2>'.
                     'students in the course.</h2>';                      &mt('There are no previously enrolled students in the course.').
                           '</h2>';
             }              }
         } else {           } else { 
             my $sections;              my $sections;
             if (@SelectedSections == 1) {  
                 $sections = 'section '.$SelectedSections[0];  
             } elsif (@SelectedSections > 2) {  
                 $sections = 'sections '.join(', ',@SelectedSections);  
                 $sections =~ s/, ([^,])*$/, and $1/;  
             } else {  
                 $sections = 'sections '.join(' and ',@SelectedSections);  
             }  
             if (lc($ENV{'form.Status'}) eq 'any') {              if (lc($ENV{'form.Status'}) eq 'any') {
                 $Str .= '<h2>There are no students in '.$sections.'.</h2>';                  $Str .= '<h2>'.
                       &mt('There are no students in the selected sections.').
                       '</h2>';
             } elsif (lc($ENV{'form.Status'}) eq 'active') {              } elsif (lc($ENV{'form.Status'}) eq 'active') {
                 $Str .= '<h2>There are no currently enrolled students '.                  $Str .= '<h2>'.
                     'in '.$sections.'.</h2>';                      &mt('There are no currently enrolled students in the selected sections.').
                       '</h2>';
             } elsif (lc($ENV{'form.Status'}) eq 'expired') {              } elsif (lc($ENV{'form.Status'}) eq 'expired') {
                 $Str .= '<h2>There are no previously enrolled students '.                  $Str .= '<h2>'.
                     'in '.$sections.'.</h2>';                      &mt('There are no previously enrolled students in the selected sections.').
                       '</h2>';
             }              }
         }          }
         $Str.= '<a href="/adm/statistics?reportSelected=student_assessment">'.          $Str.= '<a href="/adm/statistics?reportSelected=student_assessment">'.
             'Return to the chart.</a>';              &mt('Click here to return to the chart').'</a>';
         $r->print($Str);          $r->print($Str);
         $r->rflush();          $r->rflush();
         return;          return;
Line 971  sub DisplayClasslist { Line 1013  sub DisplayClasslist {
     $Str .= '<table border="0"><tr><td bgcolor="#777777">'."\n";      $Str .= '<table border="0"><tr><td bgcolor="#777777">'."\n";
     $Str .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n";      $Str .= '<table border="0" cellpadding="3"><tr bgcolor="#e6ffff">'."\n";
     foreach my $field (@Fields) {      foreach my $field (@Fields) {
         $Str .= '<th><a href="/adm/statistics?reportSelected=classlist&sort='.$field.'">'.$field.          $Str .= '<th><a href="/adm/statistics?'.
               'reportSelected=student_assessment&'.
               'selectstudent=1&'.
               'sort='.$field.'">'.&mt($field).
             '</a></th>';              '</a></th>';
     }      }
     $Str .= '</tr>'."\n";      $Str .= '</tr>'."\n";
Line 996  sub DisplayClasslist { Line 1041  sub DisplayClasslist {
                 $Str .= &Apache::lonnet::escape($sname).'">';                  $Str .= &Apache::lonnet::escape($sname).'">';
                 $Str .= $student->{$field}.'&nbsp';                  $Str .= $student->{$field}.'&nbsp';
                 $Str .= '</a>';                  $Str .= '</a>';
               } elsif ($field eq 'status') {
                   $Str .= &mt($student->{$field});
             } else {              } else {
                 $Str .= $student->{$field};                  $Str .= $student->{$field};
             }              }
Line 1036  sub CreateMainMenu { Line 1083  sub CreateMainMenu {
                      short_description =>                        short_description => 
     &mt('Prepare Excel spreadsheets of student submissions.'),      &mt('Prepare Excel spreadsheets of student submissions.'),
                  },                   },
                      { internal_name => 'survey_reports',
                        name => &mt('Survey Reports'),
                        short_description => 
       &mt('Prepare reports on survey results.'),
                    },
                    { internal_name => 'correct_problems_plot',                     { internal_name => 'correct_problems_plot',
                      name => &mt('Correct Problems Plot'),                       name => &mt('Correct Problems Plot'),
                      short_description =>                        short_description => 
Line 1119  sub handler { Line 1171  sub handler {
     if (! exists($ENV{'form.reportSelected'}) ||       if (! exists($ENV{'form.reportSelected'}) || 
         $ENV{'form.reportSelected'} eq '') {          $ENV{'form.reportSelected'} eq '') {
         $r->print(&Apache::lonhtmlcommon::breadcrumbs          $r->print(&Apache::lonhtmlcommon::breadcrumbs
                   (undef,'Statistics Main Page').                    (undef,&mt('Statistics Main Page')).
                   &CreateMainMenu());                    &CreateMainMenu());
     } else {      } else {
     #      #
Line 1162  sub handler { Line 1214  sub handler {
         } elsif($GoToPage eq 'problem_statistics') {          } elsif($GoToPage eq 'problem_statistics') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=problem_statistics',                  ({href=>'/adm/statistics?reportselected=problem_statistics',
                   text=>'Overall Problem Statistics',                    text=>'Overall Problem Statistics'});
                   faq=>139,bug=>'Statistics and Charts'});  
             &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c);              &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c);
         } elsif($GoToPage eq 'problem_analysis') {          } elsif($GoToPage eq 'problem_analysis') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=problem_analysis',                  ({href=>'/adm/statistics?reportselected=problem_analysis',
                   text=>'Detailed Problem Analysis',                    text=>'Detailed Problem Analysis'});
                   faq=>139,bug=>'Statistics and Charts'});  
             &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);              &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);
         } elsif($GoToPage eq 'submissiontime_analysis') {          } elsif($GoToPage eq 'submissiontime_analysis') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>                  ({href=>
                       '/adm/statistics?reportselected=submissiontime_analysis',                        '/adm/statistics?reportselected=submissiontime_analysis',
                       text=>'Submission Time Plots',                        text=>'Submission Time Plots'});
                       faq=>139,bug=>'Statistics and Charts'});  
             &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'});
                   faq=>139,bug=>'Statistics and Charts'});  
             &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);              &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
           } elsif($GoToPage eq 'survey_reports') {
               &Apache::lonhtmlcommon::add_breadcrumb
                   ({href=>
                     '/adm/statistics?reportselected=survey_reports',
                     text=>'Survey Reports'});
               &Apache::lonsurveyreports::BuildSurveyReportsPage($r,$c);
         } elsif($GoToPage eq 'correct_problems_plot') {          } elsif($GoToPage eq 'correct_problems_plot') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=correct_problems_plot',                  ({href=>'/adm/statistics?reportselected=correct_problems_plot',
                   text=>'Correct Problems Plot',                    text=>'Correct Problems Plot'});
                   faq=>139,bug=>'Statistics and Charts'});  
             &Apache::loncorrectproblemplot::BuildCorrectProblemsPage($r,$c);              &Apache::loncorrectproblemplot::BuildCorrectProblemsPage($r,$c);
         } elsif($GoToPage eq 'student_assessment') {          } elsif($GoToPage eq 'student_assessment') {
             &Apache::lonhtmlcommon::clear_breadcrumbs();              &Apache::lonhtmlcommon::clear_breadcrumbs();
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
                 ({href=>'/adm/statistics?reportselected=student_assessment',                  ({href=>'/adm/statistics?reportselected=student_assessment',
                   text=>'Chart',                    text=>'Chart'});
                   faq=>139,bug=>'Statistics and Charts'});  
             &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);              &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
         }          }
         #          #

Removed from v.1.98  
changed lines
  Added in v.1.108


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