--- loncom/interface/statistics/lonstudentassessment.pm 2003/09/03 18:23:10 1.66 +++ loncom/interface/statistics/lonstudentassessment.pm 2003/12/09 17:00:07 1.78 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentassessment.pm,v 1.66 2003/09/03 18:23:10 matthew Exp $ +# $Id: lonstudentassessment.pm,v 1.78 2003/12/09 17:00:07 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -52,9 +52,12 @@ package Apache::lonstudentassessment; use strict; use Apache::lonstatistics; use Apache::lonhtmlcommon; +use Apache::loncommon(); use Apache::loncoursedata; use Apache::lonnet; # for logging porpoises +use Apache::lonlocal; use Spreadsheet::WriteExcel; +use Spreadsheet::WriteExcel::Utility(); ####################################################### ####################################################### @@ -138,7 +141,7 @@ Inputs: ####################################################### sub BuildStudentAssessmentPage { my ($r,$c)=@_; - + # undef($Statistics); undef($show_links); undef($output_mode); @@ -146,7 +149,18 @@ sub BuildStudentAssessmentPage { undef($base); undef($datadescription); undef($single_student_mode); - + # + my %Saveable_Parameters = ('Status' => 'scalar', + 'chartoutputmode' => 'scalar', + 'chartoutputdata' => 'scalar', + 'Section' => 'array', + 'StudentData' => 'array', + 'Maps' => 'array'); + &Apache::loncommon::store_course_settings('chart',\%Saveable_Parameters); + &Apache::loncommon::restore_course_settings('chart',\%Saveable_Parameters); + # + &Apache::lonstatistics::PrepareClasslist(); + # $single_student_mode = 0; $single_student_mode = 1 if ($ENV{'form.SelectedStudent'}); if ($ENV{'form.selectstudent'}) { @@ -200,6 +214,9 @@ sub BuildStudentAssessmentPage { # are immediately reflected in the chart. &Apache::lonnet::clear_EXT_cache_status(); # + # Clean out loncoursedata's package data, just to be safe. + &Apache::loncoursedata::clear_internal_caches(); + # # Call the initialize routine selected above $initialize->($r); foreach my $student (@Students) { @@ -302,14 +319,14 @@ sub CreateInterface { # $Str .= &CreateLegend(); $Str .= ''."\n"; $Str .= ''; - $Str .= ''; - $Str .= ''; - $Str .= ''; - $Str .= ''; - $Str .= ''; + $Str .= ''; + $Str .= ''; + $Str .= ''; + $Str .= ''; - $Str .= ''; $Str .= ''."\n"; @@ -338,12 +355,14 @@ sub CreateInterface { $Str .= &CreateAndParseOutputDataSelector(); $Str .= ''."\n"; $Str .= '
SectionsStudent DataEnrollment StatusSequences and FoldersOutput Format'. + $Str .= ''.&mt('Sections').''.&mt('Student Data').''.&mt('Enrollment Status').''.&mt('Sequences and Folders').''.&mt('Output Format').''. &Apache::loncommon::help_open_topic("Chart_Output_Formats"). 'Output Data'. + $Str .= ''.&mt('Output Data').''. &Apache::loncommon::help_open_topic("Chart_Output_Data"). '
'."\n"; - $Str .= ''; + $Str .= ''; $Str .= ' 'x5; - $Str .= ''; + $Str .= ''; $Str .= ' 'x5; - $Str .= ''; + $Str .= ''; $Str .= ' 'x5; $Str .= '
'; return $Str; @@ -416,6 +435,8 @@ sub OutputDescriptions { sub CreateAndParseOutputSelector { my $Str = ''; my $elementname = 'chartoutputmode'; + &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, + [$elementname]); # # Format for output options is 'mode, restrictions'; my $selected = 'html, without links'; @@ -442,7 +463,7 @@ sub CreateAndParseOutputSelector { foreach my $option (@OutputOptions) { $Str .= "\n".'