--- loncom/interface/lonstatistics.pm 2003/10/02 17:08:53 1.84 +++ loncom/interface/lonstatistics.pm 2003/10/08 15:32:00 1.85 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstatistics.pm,v 1.84 2003/10/02 17:08:53 matthew Exp $ +# $Id: lonstatistics.pm,v 1.85 2003/10/08 15:32:00 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1036,31 +1036,41 @@ sub DisplayClasslist { ############################################## ############################################## sub CreateMainMenu { - my ($status,$reports,$current)=@_; # - my $Str = ''; + # Define menu data + my @reports = ({ internal_name => 'problem_statistics', + name => &mt('Overall Problem Statistics'), + short_description => + &mt('Student performance statistics on all problems.'), + }, + { internal_name => 'problem_analysis', + name => &mt('Detailed Problem Analysis'), + short_description => + &mt('Detailed statistics and graphs of student performance on problems.'), + }, + { internal_name => 'student_assessment', + name => &mt('Problem Status Chart'), + short_description => + &mt('Brief view of each students performance in course.'), + }, + # 'percentage' => 'Correct-problems Plot', + # 'activitylog' => 'Activity Log', + ); + # - $Str = ''; -# $Str .= ''."\n"; -# $Str .= ''."\n"; -# $Str .= ''."\n"; -# # -# $Str .= ''; -# $Str .= '\n"; -# $Str .= '
Report:'; -# $Str .= ''.(' 'x30).''. -# ''. -# "
'."\n"; -# $Str .= '
'."\n"; + # Create the menu + my $Str; + $Str = "

".&mt('Statistics and Problem Analysis')."

\n"; + $Str .= &mt('Please select a report to generate.'); + $Str .= "
\n"; + foreach my $reportdata (@reports) { + $Str .='
'. + $reportdata->{'name'}."
\n"; + $Str .= '
'.$reportdata->{'short_description'}. + "
\n"; + } + $Str .="
\n"; # return $Str; } @@ -1111,71 +1121,67 @@ sub handler { &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, ['sort','reportSelected', 'SelectedStudent']); - if (! exists($ENV{'form.reportSelected'})) { - $ENV{'form.reportSelected'} = 'student_assessment'; - } # # Give the LON-CAPA page header $r->print(&Apache::lonhtmlcommon::Title('Course Statistics and Charts')); $r->rflush(); + # + # Either print out a menu for them or send them to a report + if (! exists($ENV{'form.reportSelected'}) || + $ENV{'form.reportSelected'} eq '') { + $r->print(&CreateMainMenu()); + } else { # - if (! &Apache::lonmysql::verify_sql_connection()) { - my $serveradmin = $r->dir_config('lonAdmEMail'); - $r->print(<Unable to connect to database! -

-Please notify the server administrator $serveradmin. -

-Course Statistics and Charts cannot be retrieved until the database is -restarted. Your data is intact but cannot be displayed at this time. -

- - -END - return; - } - # - # Clean out the caches - if (exists($ENV{'form.ClearCache'})) { - &Apache::loncoursedata::delete_caches($ENV{'requres.course.id'}); - } - # - # Set up the statistics and chart environment - &PrepareClasslist(); - &PrepareCourseData($r); - # - # Begin form output - $r->print('
print('method="post" action="/adm/statistics">'); - # - # Print main menu - my %reports = ('classlist' => 'Class list', - 'problem_statistics' => 'Problem Statistics', - 'student_assessment' => 'Problem Status Chart', -# 'percentage' => 'Correct-problems Plot', -# 'option_response' => 'Option Response Analysis', -# 'activitylog' => 'Activity Log', - ); - $r->print(&CreateMainMenu($ENV{'form.status'}, - \%reports,$ENV{'form.reportSelected'})); - $r->rflush(); - # - my $GoToPage = $ENV{'form.reportSelected'}; - if($GoToPage eq 'activitylog') { + if (! &Apache::lonmysql::verify_sql_connection()) { + my $serveradmin = $r->dir_config('lonAdmEMail'); + $r->print('

'. + &mt('Unable to connect to database!'). + '

'); + $r->print('

'. + &mt('Please notify the server administrator '). + ''.$serveradmin.'

'); + $r->print('

'. + &mt('Course Statistics and Charts cannot be '. + 'retrieved until the database is restarted. '. + 'Your data is intact but cannot be displayed '. + 'at this time.').'

'); + $r->print(''); + return; + } + # + # Clean out the caches + if (exists($ENV{'form.ClearCache'})) { + &Apache::loncoursedata::delete_caches($ENV{'requres.course.id'}); + } + # + # Set up the statistics and chart environment + &PrepareClasslist(); + &PrepareCourseData($r); + # + # Begin form output + $r->print('print('method="post" action="/adm/statistics">'); + $r->rflush(); + # + my $GoToPage = $ENV{'form.reportSelected'}; + $r->print(''); + if($GoToPage eq 'activitylog') { # &Apache::lonproblemstatistics::Activity(); - } elsif($GoToPage eq 'problem_statistics') { - &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c); - } elsif($GoToPage eq 'problem_analysis') { - &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c); - } elsif($GoToPage eq 'student_assessment') { - &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c); - } elsif($GoToPage eq 'DoDiffGraph' || $GoToPage eq 'PercentWrongGraph') { + } elsif($GoToPage eq 'problem_statistics') { + &Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c); + } elsif($GoToPage eq 'problem_analysis') { + &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c); + } elsif($GoToPage eq 'student_assessment') { + &Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c); + } elsif($GoToPage eq 'DoDiffGraph' || $GoToPage eq 'PercentWrongGraph') { # &Apache::lonproblemstatistics::BuildGraphicChart($r,$c); - } elsif($GoToPage eq 'Correct-problems Plot') { -# &Apache::lonpercentage::BuildPercentageGraph($r,$c); + } elsif($GoToPage eq 'Correct-problems Plot') { + # &Apache::lonpercentage::BuildPercentageGraph($r,$c); + } + # + $r->print("
\n"); } - # - $r->print("\n"); $r->print("\n\n"); $r->rflush(); #