--- loncom/interface/statistics/lonstudentassessment.pm 2003/03/27 19:22:31 1.44 +++ loncom/interface/statistics/lonstudentassessment.pm 2003/05/21 14:43:01 1.48 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstudentassessment.pm,v 1.44 2003/03/27 19:22:31 matthew Exp $ +# $Id: lonstudentassessment.pm,v 1.48 2003/05/21 14:43:01 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -137,7 +137,7 @@ sub BuildStudentAssessmentPage { if (! exists($ENV{'form.notfirstrun'})) { $r->print(< - + Please make your selections in the boxes above and hit the button marked "Update Display". @@ -156,10 +156,10 @@ ENDMSG $initialize = \&excel_initialize; $output_student = \&excel_outputstudent; $finish = \&excel_finish; - } elsif ($output_mode eq 'multi-sheet excel') { - $initialize = \&multi_sheet_excel_initialize; - $output_student = \&multi_sheet_excel_outputstudent; - $finish = \&multi_sheet_excel_finish; +# } elsif ($output_mode eq 'multi-sheet excel') { +# $initialize = \&multi_sheet_excel_initialize; +# $output_student = \&multi_sheet_excel_outputstudent; +# $finish = \&multi_sheet_excel_finish; } elsif ($output_mode eq 'csv') { $initialize = \&csv_initialize; $output_student = \&csv_outputstudent; @@ -224,6 +224,7 @@ sub CreateInterface { $Str .= ''; $Str .= 'Sections'; $Str .= 'Student Data'; + $Str .= 'Enrollment Status'; $Str .= 'Sequences and Folders'; $Str .= 'Output Format'; $Str .= ''."\n"; @@ -242,6 +243,8 @@ sub CreateInterface { $Str .= &Apache::lonstatistics::StudentDataSelect('StudentData','multiple', 5,undef); $Str .= ''."\n"; + $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); + $Str .= ''."\n"; $Str .= &Apache::lonstatistics::MapSelect('Maps','multiple,all',5, $only_seq_with_assessments); $Str .= ''."\n"; @@ -271,6 +274,15 @@ my @OutputOptions = show => 'all', show_links => 'yes', }, + { name => 'HTML, with all links', + value => 'html, with all links', + description => 'Output HTML with each symbol linked to the problem '. + 'which generated it. '. + 'This includes links for unattempted problems.', + mode => 'html', + show => 'all', + show_links => 'all', + }, { name => 'HTML, without links', value => 'html, without links', description => 'Output HTML. By not including links, the size of the'. @@ -323,27 +335,27 @@ my @OutputOptions = show => 'totals', show_links => 'no', }, - { name => 'multi-sheet Excel', - value => 'multi-sheet excel', - description => 'Output an Excel file (compatable with Excel 95), '. - 'with a seperate worksheet for each sequence you have selected '. - 'the data for each problem part '. - '(number of tries, status, points awarded) will be listed.', - mode => 'multi-sheet excel', - show => 'totals', - show_links => 'no', - }, - { name => 'multi-sheet Excel, by section', - value => 'multi-sheet excel, by section', - description => 'Output an Excel file (compatable with Excel 95), '. - 'with a seperate worksheet for each sequence you have selected '. - 'the data for each problem part '. - '(number of tries, status, points awarded) will be listed. '. - 'There will be one Excel workbook for each section selected.', - mode => 'multi-sheet excel', - show => 'by section', - show_links => 'no', - }, +# { name => 'multi-sheet Excel', +# value => 'multi-sheet excel', +# description => 'Output an Excel file (compatable with Excel 95), '. +# 'with a seperate worksheet for each sequence you have selected '. +# 'the data for each problem part '. +# '(number of tries, status, points awarded) will be listed.', +# mode => 'multi-sheet excel', +# show => 'totals', +# show_links => 'no', +# }, +# { name => 'multi-sheet Excel, by section', +# value => 'multi-sheet excel, by section', +# description => 'Output an Excel file (compatable with Excel 95), '. +# 'with a seperate worksheet for each sequence you have selected '. +# 'the data for each problem part '. +# '(number of tries, status, points awarded) will be listed. '. +# 'There will be one Excel workbook for each section selected.', +# mode => 'multi-sheet excel', +# show => 'by section', +# show_links => 'no', +# }, { name => 'CSV, everything', value => 'csv, everything', description => '', @@ -822,6 +834,26 @@ sub excel_initialize { $rows_output += 1; } # + # Output a row for MAX + if ($show ne 'totals') { + $cols_output = 0; + foreach my $field (&get_student_fields_to_show()) { + if ($field eq 'username' || $field eq 'fullname' || + $field eq 'id') { + $excel_sheet->write($rows_output,$cols_output++,'Maximum'); + } else { + $excel_sheet->write($rows_output,$cols_output++,''); + } + } + # + # Add the Sequence Headers + foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) { + $excel_sheet->write($rows_output,$cols_output++, + $seq->{'num_assess_parts'}); + } + $rows_output++; + } + # # Let the user know what we are doing my $studentcount = scalar(@Apache::lonstatistics::Students); $r->print("

Compiling Excel spreadsheet for ". @@ -1141,7 +1173,8 @@ sub StudentPerformanceOnSequence { } } # - if ($links eq 'yes' && $symbol ne ' ') { + if ( ($links eq 'yes' && $symbol ne ' ') || + ($links eq 'all')) { $symbol = '