Diff for /loncom/interface/lonstatistics.pm between versions 1.156.2.1 and 1.156.2.8

version 1.156.2.1, 2012/05/10 18:47:29 version 1.156.2.8, 2020/11/11 22:27:41
Line 366  sub section_or_group_text { Line 366  sub section_or_group_text {
   
 sub get_students {  sub get_students {
     if (! @Students) {      if (! @Students) {
         &PrepareClasslist()          &PrepareClasslist();
     }      }
     return @Students;      return @Students;
 }  }
Line 511  sub map_select { Line 511  sub map_select {
     if ($selected_maps[0] eq 'all') {      if ($selected_maps[0] eq 'all') {
         $form .= ' selected="selected"';          $form .= ' selected="selected"';
     }      }
     $form .= ">all</option>\n";      $form .= '>'.&mt('all').'</option>'."\n";
     #      #
     # Loop through the sequences      # Loop through the sequences
     my @sequences = &selected_sequences_with_assessments('all');      my @sequences = &selected_sequences_with_assessments('all');
Line 547  sub SectionSelect { Line 547  sub SectionSelect {
         &PrepareClasslist()          &PrepareClasslist()
     }      }
     #      #
       # Make sure course's student table is up to date
       if (@Sections) {
           &Apache::loncoursedata::ensure_current_sections();
       }
       #
     # Build the form element      # Build the form element
     my $Str = "\n";      my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';      $Str .= '<select name="'.$elementname.'" ';
Line 582  sub GroupSelect { Line 587  sub GroupSelect {
         &PrepareClasslist();          &PrepareClasslist();
     }      }
     #      #
       # Make sure course's groupnames and studentgroups tables
       # are up to date.
       #
       if (@Groups) {
           &Apache::loncoursedata::ensure_current_groups();
           &Apache::loncoursedata::ensure_current_students_groups();
       }
       #
     # Build the form element      # Build the form element
     my $Str = "\n";      my $Str = "\n";
     $Str .= '<select name="'.$elementname.'" ';      $Str .= '<select name="'.$elementname.'" ';
Line 615  sub DisplayClasslist { Line 628  sub DisplayClasslist {
     # Output some of the standard interface components      # Output some of the standard interface components
     my $Str;      my $Str;
     $Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student');      $Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student');
     $Str .= '<p><table cellspacing="5">'."\n";      $Str .= '<table cellspacing="5">'."\n";
     $Str .= '<tr>';      $Str .= '<tr>';
     $Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>';      $Str .= '<th align="center"><b>'.&mt('Sections').'</b></th>';
     $Str .= '<th align="center"><b>'.&mt('Groups').'</b></th>';      $Str .= '<th align="center"><b>'.&mt('Groups').'</b></th>';
Line 633  sub DisplayClasslist { Line 646  sub DisplayClasslist {
         '</td>';          '</td>';
           
     $Str .= '</tr>'.$/;      $Str .= '</tr>'.$/;
     $Str .= '</table></p>';      $Str .= '</table>';
     $Str .= '<input type="submit" name="selectstudent" value="'.      $Str .= '<input type="submit" name="selectstudent" value="'.
         &mt('Update Display').'" />';          &mt('Update Display').'" />';
     $r->print($Str);      $r->print($Str);
Line 691  sub DisplayClasslist { Line 704  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) {
         $Str .= '<th><a href="/adm/statistics?'.          $Str .= '<th><a href="/adm/statistics?'.
             'reportSelected=student_assessment&'.              'reportSelected=student_assessment&amp;'.
             'selectstudent=1&'.              'selectstudent=1&amp;'.
             'sort='.$field.'">'.&mt($field).              'sort='.$field.'">'.&mt($field).
             '</a></th>';              '</a></th>';
     }      }
Line 712  sub DisplayClasslist { Line 725  sub DisplayClasslist {
             if ($field eq 'fullname' || $field eq 'username') {              if ($field eq 'fullname' || $field eq 'username') {
                 $Str .= '<a href="/adm/statistics?reportSelected=';                  $Str .= '<a href="/adm/statistics?reportSelected=';
                 $Str .= &escape('student_assessment');                  $Str .= &escape('student_assessment');
                 $Str .= '&sort='.&escape($env{'form.sort'});                  $Str .= '&amp;sort='.&escape($env{'form.sort'});
                 $Str .= '&SelectedStudent=';                  $Str .= '&amp;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 {
                 $Str .= $student->{$field};                  if ($student->{$field} eq 'none') {
                       $Str .= &mt('none')
                   } else {
                       $Str .= $student->{$field};
                   }
             }              }
             $Str .= '</td>';              $Str .= '</td>';
         }          }
Line 815  sub handler { Line 832  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['sort','reportSelected',                                              ['sort','reportSelected',
                                              'SelectedStudent']);                                               'SelectedStudent']);
       my $GoToPage = $env{'form.reportSelected'};
   
     #      #
     # Give the LON-CAPA page header      # Give the LON-CAPA page header
     my $style = <<ENDSTYLE;      my $style = <<ENDSTYLE;
Line 825  sub handler { Line 844  sub handler {
     td.essay          { border: 1px solid gray; }      td.essay          { border: 1px solid gray; }
 </style>  </style>
 ENDSTYLE  ENDSTYLE
   
       my $head_extra = $style;
       if (($env{'form.reportSelected'} eq 'student_submission_reports') &&
           ($env{'form.renderprob'})) {
           my @Symbs = &Apache::lonstathelpers::get_selected_symbs('problemchoice');
           if (scalar(@Symbs) == 1) {
               $head_extra .= &Apache::loncommon::css_links($Symbs[0]);
           }
       } elsif ($env{'form.reportSelected'} eq 'submissiontime_analysis') {
           my ($navmap,$current_problem) =
               &Apache::lonsubmissiontimeanalysis::get_current_problem();
           if (ref($current_problem) eq 'HASH') {
               my $symb = $current_problem->{'symb'};
               if ($symb) {
                   $head_extra .= &Apache::loncommon::css_links($symb);
               }
           }
       } elsif (($env{'form.reportSelected'} eq 'problem_analysis') &&
                 ($env{'form.show_prob'})) {
           my $problem_types = &Apache::lonproblemanalysis::analyzable_types();
           my ($navmap,$current_problem) =
               &Apache::lonproblemanalysis::get_current_problem($problem_types);
           if (ref($current_problem) eq 'HASH') {
               my $symb = $current_problem->{'symb'};
               my $res = $current_problem->{'resource'};
               if ($symb) {
                   $head_extra .= &Apache::loncommon::css_links($symb);
               }
           }
       }
               
     $r->print(&Apache::loncommon::start_page('Course Statistics and Charts',      $r->print(&Apache::loncommon::start_page('Course Statistics and Charts',
      $style));       $head_extra));
     $r->rflush();      $r->rflush();
     #       # 
     # Either print out a menu for them or send them to a report      # Either print out a menu for them or send them to a report
Line 837  ENDSTYLE Line 886  ENDSTYLE
                                             text =>'Statistics',                                              text =>'Statistics',
                                             faq=>139,                                              faq=>139,
                                             bug=>'Statistics and Charts'});                                              bug=>'Statistics and Charts'});
     if (! exists($env{'form.reportSelected'}) ||       if ($GoToPage eq '') {
         $env{'form.reportSelected'} eq '') {  
         $r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page').          $r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page').
                   &CreateMainMenu());                    &CreateMainMenu());
     } else {      } else {
Line 863  ENDSTYLE Line 911  ENDSTYLE
         #          #
         # Clean out the caches          # Clean out the caches
         if (exists($env{'form.ClearCache'})) {          if (exists($env{'form.ClearCache'})) {
             &Apache::loncoursedata::delete_caches($env{'requres.course.id'});              &Apache::loncoursedata::delete_caches($env{'request.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') {          if ($GoToPage eq 'student_submission_reports') {

Removed from v.1.156.2.1  
changed lines
  Added in v.1.156.2.8


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