[LON-CAPA-cvs] cvs: loncom /interface/statistics lonstudentsubmissions.pm

bisitz bisitz at source.lon-capa.org
Tue Mar 20 13:52:23 EDT 2012


bisitz		Tue Mar 20 17:52:23 2012 EDT

  Modified files:              
    /loncom/interface/statistics	lonstudentsubmissions.pm 
  Log:
  Localization of fields in student submission reports for HTML and for Excel output:
      - Header
      - Headline with student fields
      - Worksheet name (including dynamic cut off of too long names due to limitation of 31 characters)
  
  (Excel output still needs global correction of character encoding.)
  
  
Index: loncom/interface/statistics/lonstudentsubmissions.pm
diff -u loncom/interface/statistics/lonstudentsubmissions.pm:1.66 loncom/interface/statistics/lonstudentsubmissions.pm:1.67
--- loncom/interface/statistics/lonstudentsubmissions.pm:1.66	Wed Dec 21 21:25:51 2011
+++ loncom/interface/statistics/lonstudentsubmissions.pm	Tue Mar 20 17:52:23 2012
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonstudentsubmissions.pm,v 1.66 2011/12/21 21:25:51 www Exp $
+# $Id: lonstudentsubmissions.pm,v 1.67 2012/03/20 17:52:23 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -330,7 +330,7 @@
     my $student_column_count = scalar(@student_columns);
     $headers{'problem'} = qq{<th colspan="$student_column_count">\ </th>};
     foreach my $field (@student_columns) {
-        $headers{'student'}.= '<th>'.ucfirst($field).'</th>';
+        $headers{'student'}.= '<th>'.&mt(ucfirst($field)).'</th>';
     }
     #
     # we put the headers into the %headers hash
@@ -814,7 +814,17 @@
     my ($workbook,$filename,$format) = 
         &Apache::loncommon::create_workbook($r);
     return if (! defined($workbook));
-    my $worksheet  = $workbook->addworksheet('Student Submission Data');
+
+    # Worksheet name
+    # The length of a worksheet name in Excel 95 is limited to 31 characters.
+    # Let's make sure to not exceed the maximum length in the translation files.
+    # Otherwise, no Excel file would be created.
+    my $worksheetname = &mt('Student Submission Data');
+    if (length($worksheetname) > 31) {
+        # nice way to cut off too long name
+        $worksheetname = substr($worksheetname,0,28,).'...';
+    }
+    my $worksheet  = $workbook->addworksheet($worksheetname);
     #
     # Add headers to the worksheet
     my $rows_output = 0;
@@ -827,13 +837,13 @@
     my $partid_row = $rows_output++;
     my $respid_row = $rows_output++;
     my $header_row = $rows_output++;
-    $worksheet->write($title_row ,0,'Problem Title',$format->{'bold'});
-    $worksheet->write($partid_row,0,'Part ID',$format->{'bold'});
-    $worksheet->write($respid_row,0,'Response ID',$format->{'bold'});
+    $worksheet->write($title_row ,0,&mt('Problem Title'),$format->{'bold'});
+    $worksheet->write($partid_row,0,&mt('Part ID'),$format->{'bold'});
+    $worksheet->write($respid_row,0,&mt('Response ID'),$format->{'bold'});
     # Student headers
     my @StudentColumns = &get_student_columns($show_named);
     foreach my $field (@StudentColumns) {
-        $worksheet->write($header_row,$cols_output++,ucfirst($field),
+        $worksheet->write($header_row,$cols_output++,&mt(ucfirst($field)),
                           $format->{'bold'});
     }
     # Problem headers




More information about the LON-CAPA-cvs mailing list