Diff for /loncom/interface/spreadsheet/lonspreadsheet.pm between versions 1.13 and 1.22

version 1.13, 2003/06/19 16:04:06 version 1.22, 2003/09/04 15:17:41
Line 165  END Line 165  END
         }          }
         $load_dialog .= '>'.$sheetfilename."</option>\n";          $load_dialog .= '>'.$sheetfilename."</option>\n";
     }      }
     $load_dialog .= "</td><td>&nbsp;</td></tr>\n</table>\n";      $load_dialog .= "</select>\n</td><td>&nbsp;</td></tr>\n</table>\n";
         #          #
     $result .=<<END;      $result .=<<END;
 <!-- load / save dialogs -->  <!-- load / save dialogs -->
Line 214  sub handler { Line 214  sub handler {
             $r->uri.":opa:0:0:Cannot modify spreadsheet";              $r->uri.":opa:0:0:Cannot modify spreadsheet";
         return HTTP_NOT_ACCEPTABLE;           return HTTP_NOT_ACCEPTABLE; 
     }      }
       my $courseid = $ENV{'request.course.id'};
       #
       # Do not allow students to continue if standard grading is in effect.
       if ($ENV{'request.role'} =~ /^st\./) {
           if ($ENV{'course.'.$courseid.'.grading'} eq 'standard') {
               return HTTP_NOT_ACCEPTABLE;
           }
       }
     #      #
     # Get query string for limited number of parameters      # Get query string for limited number of parameters
     #      #
     &Apache::loncommon::get_unprocessed_cgi      &Apache::loncommon::get_unprocessed_cgi
         ($ENV{'QUERY_STRING'},['sname','sdomain','usymb','filename']);          ($ENV{'QUERY_STRING'},['sname','sdomain','usymb','filename','recalc']);
     #      #
     # Deal with restricted student permissions       # Deal with restricted student permissions 
     #      #
Line 238  sub handler { Line 246  sub handler {
         $name   = $ENV{'form.sname'};          $name   = $ENV{'form.sname'};
         $domain = $ENV{'form.sdomain'};          $domain = $ENV{'form.sdomain'};
     }      }
     #  
     # Open page, try to prevent browser cache.  
     #  
     $r->content_type('text/html');  
     $r->header_out('Cache-control','no-cache');  
     $r->header_out('Pragma','no-cache');  
     $r->send_http_header;  
     ##      ##
     ## Check permissions      ## Check permissions
     my $allowed_to_edit = &Apache::lonnet::allowed('mgr',      my $allowed_to_edit = &Apache::lonnet::allowed('mgr',
Line 265  sub handler { Line 266  sub handler {
     # if they are not requesting their own.      # if they are not requesting their own.
     if ($sheettype eq 'classcalc') {      if ($sheettype eq 'classcalc') {
         if (! $allowed_to_view) {          if (! $allowed_to_view) {
             $r->print('<h1>Access Permission Denied</h1>'.      $ENV{'user.error.msg'}=
                       '</form></body></html>');   $r->uri.":vgr:0:0:Access Permission Denied";
             return OK;      return HTTP_NOT_ACCEPTABLE; 
         }   }
     }      }
     if ((($name   ne $ENV{'user.name'} ) ||      if ((($name   ne $ENV{'user.name'} ) ||
          ($domain ne $ENV{'user.domain'})) && $sheettype ne 'classcalc') {           ($domain ne $ENV{'user.domain'})) && $sheettype ne 'classcalc') {
Line 278  sub handler { Line 279  sub handler {
             my $stu_sec = &Apache::lonnet::usection($domain,$name,              my $stu_sec = &Apache::lonnet::usection($domain,$name,
                                                     $ENV{'request.course.id'});                                                      $ENV{'request.course.id'});
             if ($stu_sec ne $ENV{'request.course.sec'}) {              if ($stu_sec ne $ENV{'request.course.sec'}) {
                 $r->print   $ENV{'user.error.msg'}=
                     ('<h1>The student requested is not in your section.</h1>'.      $r->uri.":vgr:0:0:Requested student not in your section.";
                      '</form></body></html>');   return HTTP_NOT_ACCEPTABLE; 
                 return OK;  
             }              }
         }          }
     }      }
   
     #      #
       # Open page, try to prevent browser cache.
       #
       $r->content_type('text/html');
       &Apache::loncommon::no_cache($r);
       $r->send_http_header;
   
       #
     # Header....      # Header....
     #      #
     $r->print('<html><head><title>LON-CAPA Spreadsheet</title>');      $r->print('<html><head><title>LON-CAPA Spreadsheet</title>');
Line 311  sub handler { Line 318  sub handler {
         edit_text +='<html><head><title>Cell Edit Window</title></head><body>';          edit_text +='<html><head><title>Cell Edit Window</title></head><body>';
         edit_text += '<form name="editwinform">';          edit_text += '<form name="editwinform">';
         edit_text += '<center><h3>Cell '+cellname+'</h3>';          edit_text += '<center><h3>Cell '+cellname+'</h3>';
         edit_text += '<textarea name="newformula" cols="40" rows="6"';          edit_text += '<textarea name="newformula" cols="60" rows="12"';
         edit_text += ' wrap="off" >'+cellformula+'</textarea>';          edit_text += ' wrap="off" >'+cellformula+'</textarea>';
         edit_text += '</br>';          edit_text += '</br>';
         edit_text += '<input type="button" name="accept" value="Accept"';          edit_text += '<input type="button" name="accept" value="Accept"';
Line 332  sub handler { Line 339  sub handler {
             editwin.close();              editwin.close();
         }          }
   
         editwin = window.open($nothing,'CellEditWin','height=200,width=350,scrollbars=no,resizeable=yes,alwaysRaised=yes,dependent=yes',true);          editwin = window.open($nothing,'CellEditWin','height=280,width=480,scrollbars=no,resizeable=yes,alwaysRaised=yes,dependent=yes',true);
         editwin.document.write(edit_text);          editwin.document.write(edit_text);
     }      }
 </script>  </script>
Line 356  ENDSCRIPT Line 363  ENDSCRIPT
         }          }
     }      }
     ##      ##
       ## Take care of "backdoor" spreadsheet expiration / recalc stuff
       if ($allowed_to_edit && exists($ENV{'form.recalc'})) {
           if ($ENV{'form.recalc'} eq 'ilovewastingtime') {
               &Apache::lonnet::logthis('ilovewastingtime');
               # expire ALL spreadsheets
               &Apache::lonnet::expirespread('','','studentcalc');
               &Apache::lonnet::expirespread('','','assesscalc');
           } elsif ($ENV{'form.recalc'} =~ /^symb:/) {
               # expire for all students on this symb
               my ($symb) = ($ENV{'form.recalc'} =~ /^symb:(.*)$/);
               &Apache::lonnet::logthis('symb = '.$symb);
               &Apache::lonnet::expirespread('','','assesscalc',$symb);
               &Apache::lonnet::expirespread('','','studentcalc');
           } elsif ($ENV{'form.recalc'} =~ /^student:/) {
               # expire all assessment spreadsheets for this user
               my ($sname,$sdom) = ($ENV{'form.recalc'}=~/^student:(.*):(.*)$/);
               &Apache::lonnet::logthis('student = '.$sname.':'.$sdom);
               if (defined($sname) && defined($sdom)) {
                   &Apache::lonnet::expirespread($sname,$sdom,'assesscalc');
                   &Apache::lonnet::expirespread($sname,$sdom,'studentcalc');
               }
           }
       }
       ##
     ## Make the spreadsheet      ## Make the spreadsheet
     &Apache::Spreadsheet::initialize_spreadsheet_package();      &Apache::Spreadsheet::initialize_spreadsheet_package();
     my $spreadsheet = undef;      my $spreadsheet = undef;
Line 415  END Line 446  END
     }      }
     $r->rflush();      $r->rflush();
     #      #
       $r->print("<table><tr>");
     if ($sheettype eq 'classcalc') {      if ($sheettype eq 'classcalc') {
         $r->print('<input type="submit" value="Generate Spreadsheet" /><br />');          $r->print('<td><input type="submit" value="Generate Spreadsheet" />'.
                     '</td>');
       }
       if ($allowed_to_view) {
           $r->print('<td>'.
                     &Apache::loncommon::help_open_topic("Spreadsheet_About",
                                                         'Spreadsheet Help').
                     '</td>');
     }      }
       if ($allowed_to_edit) {
           $r->print('<td>'.
                     &Apache::loncommon::help_open_topic("Spreadsheet_Editing",
                                                         'Editing Help').
                     '</td>');
       }
       $r->print('</tr></table>');
     #      #
     # Keep track of the filename      # Keep track of the filename
     $r->print(&hiddenfield('filename',$filename));      $r->print(&hiddenfield('filename',$filename));
Line 430  END Line 476  END
         if ($allowed_to_view || $allowed_to_edit) {          if ($allowed_to_view || $allowed_to_edit) {
             $r->print($spreadsheet->parent_link());              $r->print($spreadsheet->parent_link());
         }          }
           $r->rflush();
         $spreadsheet->display($r);          $spreadsheet->display($r);
     }      }
     $r->print('</form></body></html>');      $r->print('</form></body></html>');

Removed from v.1.13  
changed lines
  Added in v.1.22


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>