--- loncom/interface/lonstatistics.pm 2009/12/16 13:00:45 1.148 +++ loncom/interface/lonstatistics.pm 2010/12/05 17:27:30 1.148.2.7 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstatistics.pm,v 1.148 2009/12/16 13:00:45 bisitz Exp $ +# $Id: lonstatistics.pm,v 1.148.2.7 2010/12/05 17:27:30 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -456,11 +456,27 @@ sub selected_sequences_with_assessments return ('Can not open Coursemap'); } # - my @sequences = $navmap->retrieveResources(undef, + my $mapurl; + 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); - my $toplevelseq = $navmap->getById('0.0'); - if (!grep(/^\Q$toplevelseq\E$/,@sequences)) { - unshift(@sequences,$toplevelseq); + unless (&Apache::loncommon::needs_gci_custom()) { + my $toplevelseq = $navmap->getById('0.0'); + if (!grep(/^\Q$toplevelseq\E$/,@sequences)) { + unshift(@sequences,$toplevelseq); + } } my @sequences_with_assessments; @@ -504,13 +520,15 @@ sub map_select { $form .= 'multiple="multiple" '; } $form .= 'size="'.$numvisible.'" >'."\n"; - # - # Put in option for 'all' - $form .= ' \n"; @@ -766,7 +788,19 @@ sub CreateMainMenu { icon => 'coprplot.png', linktext => ('Correct Problems Plot'), 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', items => [ {url => '/adm/statistics?reportSelected=student_submission_reports', @@ -781,13 +815,12 @@ sub CreateMainMenu { linktext => ('Survey Reports'), linktitle => ('Prepare reports on survey results.')}, ]}); + } return &Apache::lonhtmlcommon::generate_menu(@reports); } - - sub handler { my $r=shift; my $c = $r->connection(); @@ -817,6 +850,32 @@ sub handler { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; 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('

'.&mt('Display of statistics').'

'); + if ($duedate > $now) { + $r->print('

'.&mt('Aggregate test performance data will be available after the Concept Test end date: [_1].', + &Apache::lonlocal::locallocaltime($duedate)).'

'); + } else { + $r->print('

'. + &mt('Aggregate test performance data unavailable without definition of an end date for the Concept Test.').'

'); + } + $r->print(&Apache::loncommon::end_page()); + return OK; + } + } + # # Extract form elements from query string &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, @@ -902,9 +961,9 @@ ENDSTYLE &Apache::lonsubmissiontimeanalysis::BuildSubmissionTimePage($r,$c); } elsif($GoToPage eq 'student_submission_reports') { &Apache::lonhtmlcommon::add_breadcrumb - ({href=> - '/adm/statistics?reportselected=student_submission_reports', - text=>'Student Submission Reports'}); + ({href=> + '/adm/statistics?reportselected=student_submission_reports', + text=>'Student Submission Reports'}); &Apache::lonstudentsubmissions::BuildStudentSubmissionsPage($r,$c); } elsif($GoToPage eq 'survey_reports') { &Apache::lonhtmlcommon::add_breadcrumb @@ -922,7 +981,11 @@ ENDSTYLE &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/statistics?reportselected=student_assessment', text=>'Chart'}); - &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c); + if ($gcicustom) { + $r->print(&mt('Only aggregate performance data are available for Concept Tests.')); + } else { + &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c); + } } elsif($GoToPage eq 'grading_analysis') { &Apache::lonhtmlcommon::add_breadcrumb ({href=>'/adm/statistics?reportselected=grading_anaylsis',