--- loncom/interface/lonstatistics.pm 2002/07/26 16:22:09 1.33 +++ loncom/interface/lonstatistics.pm 2002/07/26 19:49:26 1.34 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # (Publication Handler # -# $Id: lonstatistics.pm,v 1.33 2002/07/26 16:22:09 stredwic Exp $ +# $Id: lonstatistics.pm,v 1.34 2002/07/26 19:49:26 stredwic Exp $ # # Copyright Michigan State University Board of Trustees # @@ -51,6 +51,7 @@ use Apache::lonchart; use HTML::TokeParser; use GDBM_File; +#my $jr; sub CheckFormElement { my ($cache, $ENVName, $cacheName, $default)=@_; @@ -70,7 +71,8 @@ sub ProcessFormData{ $cache->{'reportKey'} = 'false'; &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, - ['sort','download','reportSelected', + ['sort','download', + 'reportSelected', 'StudentAssessmentStudent']); &CheckFormElement($cache, 'Status', 'Status', 'Active'); &CheckFormElement($cache, 'postdata', 'reportSelected', 'Class list'); @@ -98,6 +100,7 @@ sub ProcessFormData{ 'StudentAssessmentStudent', 'All Students'); $cache->{'StudentAssessmentStudent'} = &Apache::lonnet::unescape($cache->{'StudentAssessmentStudent'}); + &CheckFormElement($cache, 'DefaultColumns', 'DefaultColumns', 'false'); if(defined($ENV{'form.Section'})) { my @sectionsSelected = (ref($ENV{'form.Section'}) ? @@ -108,6 +111,24 @@ sub ProcessFormData{ $cache->{'sectionsSelected'} = $cache->{'sectionList'}; } + my @headingColumns=(); + my @sequenceColumns=(); + my $foundColumn = 0; + if(defined($ENV{'form.ReselectColumns'})) { + my @reselected = (ref($ENV{'form.ReselectColumns'}) ? + @{$ENV{'form.ReselectColumns'}} + : ($ENV{'form.ReselectColumns'})); + foreach (@reselected) { + if(/HeadingColumn/) { + push(@headingColumns, $_); + $foundColumn = 1; + } elsif(/SequenceColumn/) { + push(@sequenceColumns, $_); + $foundColumn = 1; + } + } + } + foreach (keys(%ENV)) { if(/form\.Analyze:::/) { # $cache->{'reportSelected'} = 'Analyze'; @@ -120,9 +141,33 @@ sub ProcessFormData{ $cache->{'AnalyzeProblem'} = $problem; &CheckFormElement($cache, 'Interval', 'Interval', '1'); + } elsif(/form\.HeadingColumn/) { + my $value = $_; + $value =~ s/form\.//; + push(@headingColumns, $value); + $foundColumn=1; + } elsif(/form\.SequenceColumn/) { + my $value = $_; + $value =~ s/form\.//; + push(@sequenceColumns, $value); + $foundColumn=1; } } + if($foundColumn) { + $cache->{'HeadingsFound'} = join(':', @headingColumns); + $cache->{'SequencesFound'} = join(':', @sequenceColumns);; + } + if(!defined($cache->{'HeadingsFound'}) || + $cache->{'DefaultColumns'} ne 'false') { + $cache->{'HeadingsFound'}='HeadingColumnFull Name'; + } + if(!defined($cache->{'SequencesFound'}) || + $cache->{'DefaultColumns'} ne 'false') { + $cache->{'SequencesFound'}='All Sequences'; + } + $cache->{'DefaultColumns'} = 'false'; + return; # Select page to display @@ -603,6 +648,8 @@ sub BuildStatistics { sub handler { my $r=shift; +# $jr = $r; + unless(&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) { $ENV{'user.error.msg'}= $r->uri.":vgr:0:0:Cannot view grades for complete course";