--- loncom/interface/lonstatistics.pm 2002/08/28 22:42:15 1.48 +++ loncom/interface/lonstatistics.pm 2002/09/16 20:09:46 1.51 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonstatistics.pm,v 1.48 2002/08/28 22:42:15 stredwic Exp $ +# $Id: lonstatistics.pm,v 1.51 2002/09/16 20:09:46 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -47,6 +47,7 @@ use Apache::lonhtmlcommon; use Apache::lonproblemanalysis; use Apache::lonproblemstatistics; use Apache::lonstudentassessment; +use Apache::lonpercentage; use HTML::TokeParser; use GDBM_File; @@ -84,6 +85,10 @@ sub ProcessFormData{ &CheckFormElement($cache, 'download', 'download', 'false'); &CheckFormElement($cache, 'StatisticsMaps', 'StatisticsMaps', 'All Maps'); + &CheckFormElement($cache, 'StatisticsProblemSelect', + 'StatisticsProblemSelect', 'All Problems'); + &CheckFormElement($cache, 'StatisticsPartSelect', + 'StatisticsPartSelect', 'All Parts'); if(defined($ENV{'form.Section'})) { my @sectionsSelected = (ref($ENV{'form.Section'}) ? @{$ENV{'form.Section'}} : @@ -122,7 +127,8 @@ sub ProcessFormData{ 'ProblemStatisticsAscend', 'Ascending'); &CheckFormElement($cache, 'ProblemStatisticsSort', 'ProblemStatisticsSort', 'Homework Sets Order'); - &CheckFormElement($cache, 'DisplayLegend', 'DisplayLegend', 'Hide Legend'); + &CheckFormElement($cache, 'DisplayLegend', 'DisplayLegend', + 'Hide Legend'); &CheckFormElement($cache, 'SortProblems', 'SortProblems', 'Sort Within Sequence'); @@ -318,14 +324,14 @@ sub PrepareData { return "Unable to tie hash to db file."; } - if(!$isCached) { +# if(!$isCached) { my $processTopResourceMapReturn= - &Apache::loncoursedata::ProcessTopResourceMap(\%cache, $c, $r); + &Apache::loncoursedata::ProcessTopResourceMap(\%cache, $c); if($processTopResourceMapReturn ne 'OK') { untie(%cache); return $processTopResourceMapReturn; } - } + # } if($c->aborted()) { untie(%cache); @@ -507,6 +513,7 @@ sub BuildStatistics { my %reports = ('classlist' => 'Class list', 'problem_statistics' => 'Problem Statistics', 'student_assessment' => 'Student Assessment', + 'percentage' => 'Percentage Graphs', # 'activitylog' => 'Activity Log', 'reportSelected' => 'Class list'); @@ -586,6 +593,9 @@ sub BuildStatistics { } elsif($GoToPage eq 'Class list') { &BuildClasslist($cacheDB, $students, \@studentInformation, \@headings, $r); + } elsif($GoToPage eq 'Percentage Graphs') { + &Apache::lonpercentage::BuildPercentageGraph($cacheDB, $students, + $courseID, $c, $r); } $r->print(''."\n"); @@ -602,6 +612,13 @@ sub handler { # $jr = $r; + my $loaderror=&Apache::lonnet::overloaderror($r); + if ($loaderror) { return $loaderror; } + $loaderror= + &Apache::lonnet::overloaderror($r, + $ENV{'course.'.$ENV{'request.course.id'}.'.home'}); + if ($loaderror) { return $loaderror; } + unless(&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) { $ENV{'user.error.msg'}= $r->uri.":vgr:0:0:Cannot view grades for complete course";