--- loncom/interface/lonstatistics.pm 2010/01/06 18:29:10 1.148.2.1 +++ 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.2.1 2010/01/06 18:29:10 raeburn 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(); @@ -820,14 +853,20 @@ sub handler { 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")); + 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).'

'); + &Apache::lonlocal::locallocaltime($duedate)).'

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

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

'); @@ -835,6 +874,7 @@ sub handler { $r->print(&Apache::loncommon::end_page()); return OK; } + } # # Extract form elements from query string @@ -921,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 @@ -942,7 +982,7 @@ ENDSTYLE ({href=>'/adm/statistics?reportselected=student_assessment', text=>'Chart'}); if ($gcicustom) { - $r->print(&mt('Only aggregate performance data is available for Concept Tests.')); + $r->print(&mt('Only aggregate performance data are available for Concept Tests.')); } else { &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c); }