Diff for /loncom/interface/lonstatistics.pm between versions 1.148.2.7 and 1.149

version 1.148.2.7, 2010/12/05 17:27:30 version 1.149, 2010/04/12 15:55:29
Line 405  sub StudentDataSelect { Line 405  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;
         }          }
     }      }
Line 416  sub StudentDataSelect { Line 416  sub StudentDataSelect {
     #      #
     # 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;
             }              }
         }          }
Line 456  sub selected_sequences_with_assessments Line 456  sub selected_sequences_with_assessments
         return ('Can not open Coursemap');          return ('Can not open Coursemap');
     }      }
     #      #
     my $mapurl;      my @sequences = $navmap->retrieveResources(undef,
     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,  
                                                sub { shift->is_map(); },1,0,1);                                                 sub { shift->is_map(); },1,0,1);
     unless (&Apache::loncommon::needs_gci_custom()) {      my $toplevelseq = $navmap->getById('0.0');
         my $toplevelseq = $navmap->getById('0.0');      if (!grep(/^\Q$toplevelseq\E$/,@sequences)) {
         if (!grep(/^\Q$toplevelseq\E$/,@sequences)) {          unshift(@sequences,$toplevelseq);
             unshift(@sequences,$toplevelseq);  
         }  
     }      }
   
     my @sequences_with_assessments;      my @sequences_with_assessments;
Line 520  sub map_select { Line 504  sub map_select {
         $form .= 'multiple="multiple" ';          $form .= 'multiple="multiple" ';
     }      }
     $form .= 'size="'.$numvisible.'" >'."\n";      $form .= 'size="'.$numvisible.'" >'."\n";
     unless (&Apache::loncommon::needs_gci_custom()) {      #
         #      # 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="selected"';
             $form .= 'selected ';  
         }  
         $form .= ">all</option>\n";  
     }      }
       $form .= ">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 539  sub map_select { Line 521  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.'"';
         if ((&Apache::loncommon::needs_gci_custom()) && (@selected_maps == 1)) {          foreach (@selected_maps) {
             $form .= 'selected ';              if ($seq->symb eq $_) {
         } else {                  $form .= ' selected="selected"';
             foreach (@selected_maps) {                  last;
                 if ($seq->symb eq $_) {  
                     $form .= 'selected ';  
                     last;  
                 }  
             }              }
         }          }
         $form .= '>'.$seq->compTitle."</option>\n";          $form .= '>'.$seq->compTitle."</option>\n";
Line 578  sub SectionSelect { Line 556  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 613  sub GroupSelect { Line 591  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 788  sub CreateMainMenu { Line 766  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.')},
          ]});           ]},
     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',          {categorytitle => 'Reports',
          items => [           items => [
             {url => '/adm/statistics?reportSelected=student_submission_reports',              {url => '/adm/statistics?reportSelected=student_submission_reports',
Line 815  sub CreateMainMenu { Line 781  sub CreateMainMenu {
  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);
     
 }  }
   
   
   
 sub handler {  sub handler {
     my $r=shift;      my $r=shift;
     my $c = $r->connection();      my $c = $r->connection();
Line 850  sub handler { Line 817  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)) {  
             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      # Extract form elements from query string
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
Line 940  ENDSTYLE Line 881  ENDSTYLE
         my $GoToPage = $env{'form.reportSelected'};          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 961  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'});
             &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);              &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c);
         } elsif($GoToPage eq 'survey_reports') {          } elsif($GoToPage eq 'survey_reports') {
             &Apache::lonhtmlcommon::add_breadcrumb              &Apache::lonhtmlcommon::add_breadcrumb
Line 981  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.7  
changed lines
  Added in v.1.149


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