[LON-CAPA-cvs] cvs: loncom /interface lonspreadsheet.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Mon, 09 Dec 2002 21:11:12 -0000
matthew Mon Dec 9 16:11:12 2002 EDT
Modified files:
/loncom/interface lonspreadsheet.pm
Log:
Added a hack to display the row number of the export row. It works!
Avoid unescaping of spreadsheet values if they contain This is
to help me write a more visually appealing set of default spreadsheets.
Fix a bug in the output selection box - using 'onChange' instead of
'onClick' because NS4.7 dislikes the latter.
Index: loncom/interface/lonspreadsheet.pm
diff -u loncom/interface/lonspreadsheet.pm:1.157 loncom/interface/lonspreadsheet.pm:1.158
--- loncom/interface/lonspreadsheet.pm:1.157 Mon Dec 9 11:06:56 2002
+++ loncom/interface/lonspreadsheet.pm Mon Dec 9 16:11:12 2002
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.157 2002/12/09 16:06:56 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.158 2002/12/09 21:11:12 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -961,7 +961,7 @@
sub templaterow {
my $sheet = shift;
my @cols=();
- my $rowlabel = 'Template';
+ my $rowlabel = 'Template</td><td> ';
foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m',
@@ -989,8 +989,10 @@
} else {
$rowlabel = '';
}
+ } elsif ($ENV{'request.role'} =~ /^st\./) {
+ $rowlabel = 'Summary</td><td>0';
} else {
- $rowlabel = 'Export';
+ $rowlabel = 'Export</td><td>0';
}
foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
@@ -1011,9 +1013,9 @@
$rowlabel = $sheet->{'rowlabel'}->{$sheet->{'f'}->{'A'.$n}};
} else {
if ($sheet->{'sheettype'} eq 'classcalc') {
- $rowlabel = 'Summary';
+ $rowlabel = 'Summary</td><td>0';
} else {
- $rowlabel = 'Export';
+ $rowlabel = 'Export</td><td>0';
}
}
foreach ('A','B','C','D','E','F','G','H','I','J','K','L','M',
@@ -1259,7 +1261,7 @@
} elsif ($value =~ /^\s*$/ ) {
$value = '<font color="'.$bgcolor.'">#</font>';
} else {
- $value = &HTML::Entities::encode($value);
+ $value = &HTML::Entities::encode($value) if ($value !~/ /);
}
# Make the formula safe for outputting
$formula =~ s/\'/\"/g;
@@ -1277,7 +1279,7 @@
sub html_uneditable_cell {
my ($cell,$bgcolor) = @_;
my $value = (defined($cell) ? $cell->{'value'} : '');
- $value = &HTML::Entities::encode($value);
+ $value = &HTML::Entities::encode($value) if ($value !~/ /);
return ' '.$value.' ';
}
@@ -1307,7 +1309,7 @@
my $tabledata =<<"END";
<table border="2">
<tr>
- <th colspan="1" rowspan="2"><font size="+2">$realm</font></th>
+ <th colspan="2" rowspan="2"><font size="+2">$realm</font></th>
<td bgcolor="#FFDDDD" colspan="$num_uneditable">
<b><font size="+1">Import</font></b></td>
<td colspan="$num_left">
@@ -1353,7 +1355,7 @@
# Print out summary/export row
####################################
($rowlabel,@rowdata) = &get_row($sheet,'0');
- $row_html = '<tr><td>'.&format_html_rowlabel($sheet,'Summary').'</td>';
+ $row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>';
$num_cols_output = 0;
foreach my $cell (@rowdata) {
if ($num_cols_output++ < 26 && ! $requester_is_student) {
@@ -3275,8 +3277,8 @@
}
$r->print('>');
#
- # CSV format checkbox (classcalc sheets only)
- $r->print(' Output as <select name="output" size="1" onClick="submit()">'.
+ # output format select box
+ $r->print(' Output as <select name="output" size="1" onChange="submit()">'.
"\n");
foreach my $mode (qw/HTML CSV Excel/) {
$r->print('<option value="'.$mode.'"');