[LON-CAPA-cvs] cvs: loncom /interface lonspreadsheet.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Thu, 05 Dec 2002 15:31:05 -0000
matthew Thu Dec 5 10:31:05 2002 EDT
Modified files:
/loncom/interface lonspreadsheet.pm
Log:
Changes to fix bug 1031 - no longer print out spreadsheet cells as editable
when the users role is that of a student.
Omit the Template row when displaying information to the student.
Rename the 'Export' row as 'Summary' because (from the students perspective)
there is nothing to export the row to.
Index: loncom/interface/lonspreadsheet.pm
diff -u loncom/interface/lonspreadsheet.pm:1.154 loncom/interface/lonspreadsheet.pm:1.155
--- loncom/interface/lonspreadsheet.pm:1.154 Wed Dec 4 16:49:33 2002
+++ loncom/interface/lonspreadsheet.pm Thu Dec 5 10:31:05 2002
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.154 2002/12/04 21:49:33 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.155 2002/12/05 15:31:05 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1284,6 +1284,7 @@
sub outsheet_html {
my ($sheet,$r) = @_;
my ($num_uneditable,$realm,$row_type);
+ my $requester_is_student = ($ENV{'request.role'} =~ /^st\./);
if ($sheet->{'sheettype'} eq 'assesscalc') {
$num_uneditable = 1;
$realm = 'Assessment';
@@ -1328,34 +1329,39 @@
####################################
# Print out template row
####################################
- my ($rowlabel,@rowdata) = &get_row($sheet,'-');
- my $row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>';
- my $num_cols_output = 0;
- foreach my $cell (@rowdata) {
- if ($num_cols_output++ < $num_uneditable) {
- $row_html .= '<td bgcolor="#FFDDDD">';
- $row_html .= &html_uneditable_cell($cell,'#FFDDDD');
- } else {
- $row_html .= '<td bgcolor="#EOFFDD">';
- $row_html .= &html_editable_cell($cell,'#E0FFDD');
+ my ($num_cols_output,$row_html,$rowlabel,@rowdata);
+
+ if (! $requester_is_student) {
+ ($rowlabel,@rowdata) = &get_row($sheet,'-');
+ $row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>';
+ $num_cols_output = 0;
+ foreach my $cell (@rowdata) {
+ if ($requester_is_student ||
+ $num_cols_output++ < $num_uneditable) {
+ $row_html .= '<td bgcolor="#FFDDDD">';
+ $row_html .= &html_uneditable_cell($cell,'#FFDDDD');
+ } else {
+ $row_html .= '<td bgcolor="#EOFFDD">';
+ $row_html .= &html_editable_cell($cell,'#E0FFDD');
+ }
+ $row_html .= '</td>';
}
- $row_html .= '</td>';
+ $row_html.= "</tr>\n";
+ $r->print($row_html);
}
- $row_html.= "</tr>\n";
- $r->print($row_html);
####################################
# Print out summary/export row
####################################
($rowlabel,@rowdata) = &get_row($sheet,'0');
- $row_html = '<tr><td>'.&format_html_rowlabel($sheet,$rowlabel).'</td>';
+ $row_html = '<tr><td>'.&format_html_rowlabel($sheet,'Summary').'</td>';
$num_cols_output = 0;
foreach my $cell (@rowdata) {
- if ($num_cols_output++ < 26) {
+ if ($num_cols_output++ < 26 && ! $requester_is_student) {
$row_html .= '<td bgcolor="#CCCCFF">';
$row_html .= &html_editable_cell($cell,'#CCCCFF');
} else {
$row_html .= '<td bgcolor="#DDCCFF">';
- $row_html .= &html_uneditable_cell(undef,'#CCCCFF');
+ $row_html .= &html_uneditable_cell($cell,'#CCCCFF');
}
$row_html .= '</td>';
}
@@ -1432,7 +1438,7 @@
$bgcolor='#FFDDDD' if ($shown_cells < $num_uneditable);
#
$row_html.='<td bgcolor='.$bgcolor.'>';
- if ($shown_cells < $num_uneditable) {
+ if ($requester_is_student || $shown_cells < $num_uneditable) {
$row_html .= &html_uneditable_cell($cell,$bgcolor);
} else {
$row_html .= &html_editable_cell($cell,$bgcolor);