--- loncom/interface/statistics/lonstudentassessment.pm 2003/06/11 16:19:39 1.58
+++ loncom/interface/statistics/lonstudentassessment.pm 2003/09/10 15:06:34 1.67
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstudentassessment.pm,v 1.58 2003/06/11 16:19:39 matthew Exp $
+# $Id: lonstudentassessment.pm,v 1.67 2003/09/10 15:06:34 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -138,8 +138,21 @@ Inputs:
#######################################################
sub BuildStudentAssessmentPage {
my ($r,$c)=@_;
+
undef($Statistics);
+ undef($show_links);
+ undef($output_mode);
+ undef($data);
+ undef($base);
+ undef($datadescription);
+ undef($single_student_mode);
+
+ $single_student_mode = 0;
$single_student_mode = 1 if ($ENV{'form.SelectedStudent'});
+ if ($ENV{'form.selectstudent'}) {
+ &Apache::lonstatistics::DisplayClasslist($r);
+ return;
+ }
#
# Print out the HTML headers for the interface
# This also parses the output mode selector
@@ -326,7 +339,13 @@ sub CreateInterface {
$Str .= ''."\n";
$Str .= ''."\n";
$Str .= '';
- $Str .= ' 'x8;
+ $Str .= ' 'x5;
+ $Str .= '';
+ $Str .= ' 'x5;
+ $Str .= '';
+ $Str .= ' 'x5;
+ $Str .= '
';
return $Str;
}
@@ -572,6 +591,7 @@ sub html_initialize {
$padding = ' 'x3;
$count = 0;
$nodata_count = 0;
+ undef(%prog_state);
#
$r->print("
".$ENV{'course.'.$ENV{'request.course.id'}.'.description'}.
" ".localtime(time)."
");
@@ -823,7 +843,14 @@ my $request_aborted;
sub excel_initialize {
my ($r) = @_;
#
- $request_aborted = undef;
+ undef ($excel_sheet);
+ undef ($excel_workbook);
+ undef ($filename);
+ undef ($rows_output);
+ undef ($cols_output);
+ undef (%prog_state);
+ undef ($request_aborted);
+ #
my $total_columns = scalar(&get_student_fields_to_show());
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) {
# Add 2 because we need a 'sum' and 'total' column for each
@@ -904,9 +931,7 @@ END
#
# Add a worksheet
my $sheetname = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
- if (length($sheetname) > 31) {
- $sheetname = substr($sheetname,0,31);
- }
+ $sheetname = &Apache::loncommon::clean_excel_name($sheetname);
$excel_sheet = $excel_workbook->addworksheet($sheetname);
#
# Put the course description in the header
@@ -1047,6 +1072,8 @@ END
($r,'Excel File Compilation Status',
'Excel File Compilation Progress', $studentcount);
#
+ &Apache::lonhtmlcommon::Update_PrgWin($r,\%prog_state,
+ 'Processing first student');
return;
}
@@ -1158,8 +1185,9 @@ sub csv_initialize{
my ($r) = @_;
#
# Clean up
- $filename = undef;
- $outputfile = undef;
+ undef($outputfile);
+ undef($filename);
+ undef($request_aborted);
undef(%prog_state);
#
# Deal with unimplemented requests
@@ -1416,7 +1444,7 @@ sub StudentTriesOnSequence {
$symbol = ''.$symbol.'';
}
$value .= $symbol;
@@ -1484,11 +1512,12 @@ sub StudentPerformanceOnSequence {
my $awarded = 0;
if (exists($resource_data->{'resource.'.$part.'.awarded'})) {
$awarded = $resource_data->{'resource.'.$part.'.awarded'};
+ $awarded = 0 if (! $awarded);
}
#
$partscore = $weight*$awarded;
$score += $partscore;
- $symbol = $weight;
+ $symbol = $partscore;
if (length($symbol) > 1) {
$symbol = '*';
}
@@ -1507,19 +1536,20 @@ sub StudentPerformanceOnSequence {
}
}
#
+ if (! defined($partscore)) {
+ $partscore = $symbol;
+ }
+ push (@ScoreData,$partscore);
+ #
if ( ($links eq 'yes' && $symbol ne ' ') || ($links eq 'all')) {
$symbol = ''.$symbol.'';
}
- if (! defined($partscore)) {
- $partscore = $symbol;
- }
- push (@ScoreData,$partscore);
+ $Str .= $symbol;
}
- $Str .= $symbol;
}
return ($Str,$performance_length,$score,$max,\@ScoreData);
}