--- loncom/interface/lonstatistics.pm 2002/07/30 21:31:48 1.37 +++ loncom/interface/lonstatistics.pm 2002/08/01 20:49:06 1.38 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonstatistics.pm,v 1.37 2002/07/30 21:31:48 stredwic Exp $ +# $Id: lonstatistics.pm,v 1.38 2002/08/01 20:49:06 stredwic Exp $ # # Copyright Michigan State University Board of Trustees # @@ -83,6 +83,7 @@ sub ProcessFormData{ &CheckFormElement($cache, 'sort', 'sort', 'fullname'); &CheckFormElement($cache, 'download', 'download', 'false'); + # student assessment if(defined($ENV{'form.CreateStudentAssessment'}) || defined($ENV{'form.NextStudent'}) || defined($ENV{'form.PreviousStudent'})) { @@ -110,6 +111,18 @@ sub ProcessFormData{ $cache->{'sectionsSelected'} = $cache->{'sectionList'}; } + # Problem analysis + &CheckFormElement($cache, 'Interval', 'Interval', '1'); + + # ProblemStatistcs + &CheckFormElement($cache, 'DisplayCSVFormat', + 'DisplayFormat', 'Display Table Format'); + &CheckFormElement($cache, 'ProblemStatisticsAscend', + 'ProblemStatisticsAscend', 'Ascending'); + &CheckFormElement($cache, 'ProblemStatisticsMaps', + 'ProblemStatisticsMaps', 'All Maps'); + + # Search only form elements my @headingColumns=(); my @sequenceColumns=(); my $foundColumn = 0; @@ -131,6 +144,18 @@ sub ProcessFormData{ $cache->{'reportKey'} = 'false'; if($cache->{'reportSelected'} eq 'Analyze') { $cache->{'reportKey'} = 'Analyze'; + } elsif($cache->{'reportSelected'} eq 'DoDiffGraph') { + $cache->{'reportKey'} = 'DoDiffGraph'; + } elsif($cache->{'reportSelected'} eq 'PercentWrongGraph') { + $cache->{'reportKey'} = 'PercentWrongGraph'; + } + + if(defined($ENV{'form.DoDiffGraph'})) { + $cache->{'reportSelected'} = 'DoDiffGraph'; + $cache->{'reportKey'} = 'DoDiffGraph'; + } elsif(defined($ENV{'form.PercentWrongGraph'})) { + $cache->{'reportSelected'} = 'PercentWrongGraph'; + $cache->{'reportKey'} = 'PercentWrongGraph'; } foreach (keys(%ENV)) { @@ -140,8 +165,6 @@ sub ProcessFormData{ my $data; (undef, $data)=split(':::', $_); $cache->{'AnalyzeInfo'}=$data; - - &CheckFormElement($cache, 'Interval', 'Interval', '1'); } elsif(/form\.HeadingColumn/) { my $value = $_; $value =~ s/form\.//; @@ -170,34 +193,6 @@ sub ProcessFormData{ $cache->{'DefaultColumns'} = 'false'; return; - - # Select page to display - if(defined($ENV{'form.ProblemStatistics'}) || - defined($ENV{'form.ProblemStatisticsRecalculate'}) || - defined($ENV{'form.DisplayCSVFormat'})) { - $cache->{'GoToPage'} = 'ProblemStatistics'; - &CheckFormElement($cache, 'DisplayCSVFormat', - 'DisplayFormat', 'Display Table Format'); - &CheckFormElement($cache, 'Ascend','ProblemStatisticsAscend', - 'Ascending'); - &CheckFormElement($cache, 'Maps', 'ProblemStatisticsMap', - 'All Maps'); - } elsif(defined($ENV{'form.ProblemAnalysis'})) { - $cache->{'GoToPage'} = 'ProblemAnalysis'; - &CheckFormElement($cache, 'Interval', 'Interval', '1'); - } elsif(defined($ENV{'form.DoDiffGraph'})) { - $cache->{'GoToPage'} = 'DoDiffGraph'; - } elsif(defined($ENV{'form.PercentWrongGraph'})) { - $cache->{'GoToPage'} = 'PercentWrongGraph'; - } elsif(defined($ENV{'form.ActivityLog'})) { - $cache->{'GoToPage'} = 'ActivityLog'; - } else { - $cache->{'GoToPage'} = 'Menu'; - } - - &CheckFormElement($cache, 'Status', 'Status', 'Active'); - - return; } =pod @@ -298,7 +293,7 @@ sub SpaceColumns { } sub PrepareData { - my ($c, $cacheDB, $studentInformation, $headings)=@_; + my ($c, $cacheDB, $studentInformation, $headings,$r)=@_; # Test for access to the cache data my $courseID=$ENV{'request.course.id'}; @@ -315,13 +310,13 @@ sub PrepareData { # Download class list information if not using cached data my %cache; - unless(tie(%cache,'GDBM_File',$cacheDB,&GDBM_WRCREAT,0640)) { + unless(tie(%cache,'GDBM_File',$cacheDB,&GDBM_WRCREAT(),0640)) { return "Unable to tie hash to db file."; } if(!$isCached) { my $processTopResourceMapReturn= - &Apache::loncoursedata::ProcessTopResourceMap(\%cache, $c); + &Apache::loncoursedata::ProcessTopResourceMap(\%cache, $c, $r); if($processTopResourceMapReturn ne 'OK') { untie(%cache); return $processTopResourceMapReturn; @@ -441,7 +436,7 @@ sub BuildClasslist { my ($cacheDB,$students,$studentInformation,$headings)=@_; my %cache; - unless(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER,0640)) { + unless(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER(),0640)) { return 'Unable to tie database.'; } @@ -544,6 +539,7 @@ sub BuildStatistics { my %reports = ('classlist' => 'Class list', 'problem_statistics' => 'Problem Statistics', 'student_assessment' => 'Student Assessment', + 'activitylog' => 'Activity Log', 'reportSelected' => 'Class list'); my %cache; @@ -553,14 +549,14 @@ sub BuildStatistics { my ($returnValue, $students) = &PrepareData($c, $cacheDB, \@studentInformation, - \@headings); + \@headings,$r); if($returnValue ne 'OK') { $r->print(''.$returnValue."\n".''); return OK; } my $GoToPage; - if(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER,0640)) { + if(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER(),0640)) { $GoToPage = $cache{'reportSelected'}; $reports{'reportSelected'} = $cache{'reportSelected'}; if(defined($cache{'reportKey'}) &&