--- loncom/interface/Attic/lonspreadsheet.pm	2002/12/09 16:06:56	1.157
+++ loncom/interface/Attic/lonspreadsheet.pm	2003/01/06 19:43:01	1.160
@@ -1,5 +1,5 @@
 #
-# $Id: lonspreadsheet.pm,v 1.157 2002/12/09 16:06:56 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.160 2003/01/06 19:43:01 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -961,7 +961,7 @@ ENDDEFS
 sub templaterow {
     my $sheet = shift;
     my @cols=();
-    my $rowlabel = 'Template';
+    my $rowlabel = 'Template</td><td>&nbsp;';
     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 @@ sub outrowassess {
         } 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 @@ sub outrow {
         $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 @@ sub html_editable_cell {
     } elsif ($value =~ /^\s*$/ ) {
         $value = '<font color="'.$bgcolor.'">#</font>';
     } else {
-        $value = &HTML::Entities::encode($value);
+        $value = &HTML::Entities::encode($value) if ($value !~/&nbsp;/);
     }
     # Make the formula safe for outputting
     $formula =~ s/\'/\"/g;
@@ -1277,7 +1279,7 @@ sub html_editable_cell {
 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 !~/&nbsp;/);
     return '&nbsp;'.$value.'&nbsp;';
 }
 
@@ -1307,7 +1309,7 @@ sub outsheet_html  {
     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 @@ END
     # 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) {
@@ -2389,7 +2391,7 @@ sub updatestudentassesssheet {
         unless ((exists($sheet->{'rowlabel'}->{$usy}) && 
                  (defined($sheet->{'rowlabel'}->{$usy})) || (!$1) ||
                  ($formula =~ /^(~~~|---)/) )) {
-            $f{$_}='!!! Obsolete';
+            $f{$cell}='!!! Obsolete';
             $changed=1;
         }
     }
@@ -2913,7 +2915,8 @@ sub cachedssheets {
     $uname = $uname || $sheet->{'uname'};
     $udom  = $udom  || $sheet->{'udom'};
     if (! $loadedcaches{$uname.'_'.$udom}) {
-        my @tmp = &Apache::lonnet::dump('nohist_calculatedsheets',
+        my @tmp = &Apache::lonnet::dump('nohist_calculatedsheets_'.
+                                        $ENV{'request.course.id'},
                                         $sheet->{'udom'},
                                         $sheet->{'uname'});
         if ($tmp[0] !~ /^error/) {
@@ -3275,8 +3278,8 @@ ENDSCRIPT
     }
     $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.'"');