Diff for /loncom/interface/spreadsheet/lonspreadsheet.pm between versions 1.55.6.1 and 1.60

version 1.55.6.1, 2011/10/09 00:28:03 version 1.60, 2011/09/26 15:48:06
Line 64  use Apache::lonnet; Line 64  use Apache::lonnet;
 use Apache::lonhtmlcommon;  use Apache::lonhtmlcommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::loncoursedata();  use Apache::loncoursedata();
   use Apache::lonquickgrades();
 use HTML::Entities();  use HTML::Entities();
   
 ##  ##
Line 203  END Line 204  END
 sub handler {  sub handler {
     my $r=shift;      my $r=shift;
     #      #
     # Overload checking  
     #  
     # Check this server  
     my $loaderror=&Apache::lonnet::overloaderror($r);  
     if ($loaderror) { return $loaderror; }  
     # Check the course homeserver  
     $loaderror= &Apache::lonnet::overloaderror($r,  
                       $env{'course.'.$env{'request.course.id'}.'.home'});  
 #    if ($loaderror) { return $loaderror; }   
     #  
     # HTML Header      # HTML Header
     #      #
     if ($r->header_only) {      if ($r->header_only) {
Line 251  sub handler { Line 242  sub handler {
   
     #      #
     # Do not allow users without vgr or mgr priv to continue unless       # Do not allow users without vgr or mgr priv to continue unless 
     # grading type is set to spreadsheet.      # grading type is set to spreadsheet. 
     #      #
   
     if ((!$allowed_to_view) && (!$allowed_to_edit)) {      if ((!$allowed_to_view) && (!$allowed_to_edit)) {
Line 285  sub handler { Line 276  sub handler {
     $symb = $env{'form.usymb'} if (exists($env{'form.usymb'}));      $symb = $env{'form.usymb'} if (exists($env{'form.usymb'}));
     my $name   = $env{'user.name'};      my $name   = $env{'user.name'};
     my $domain = $env{'user.domain'};      my $domain = $env{'user.domain'};
     my $warning;  
     if (exists($env{'form.sname'}) && $env{'form.sname'} ne '') {      if (exists($env{'form.sname'}) && $env{'form.sname'} ne '') {
         if (($env{'form.sname'} ne $env{'user.name'}) ||          $name   = $env{'form.sname'};
             ($env{'form.sdomain'} ne $env{'user.domain'})) {          $domain = $env{'form.sdomain'};
             if (($allowed_to_view) || ($allowed_to_edit)) {  
                 if (&Apache::lonnet::homeserver($env{'form.sname'},$env{'form.sdomain'}) ne 'no_host') {  
                     $name   = $env{'form.sname'};  
                     $domain = $env{'form.sdomain'};  
                 } else {  
                     $warning = &mt('Requested user: "[_1]" does not exist; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'});  
                 }  
             } else {  
                 $warning = &mt('Your current role is not permitted to display this sheet for the requested user: "[_1]"; your own sheet is displayed instead.',$env{'form.sname'}.':'.$env{'form.sdomain'});  
             }  
         }  
     }      }
     $env{'form.sname'} = $name;      $env{'form.sname'} = $name;
     $env{'form.sdomain'} = $domain;      $env{'form.sdomain'} = $domain;
Line 425  ENDSCRIPT Line 404  ENDSCRIPT
           text  => 'Spreadsheet',            text  => 'Spreadsheet',
           faq   => 134,            faq   => 134,
           bug   => 'Spreadsheet'});            bug   => 'Spreadsheet'});
     my $settingslink = &Apache::lonhtmlcommon::coursepreflink(&mt('Grade display settings'),  
                                                               'grading');  
     &Apache::lonhtmlcommon::add_breadcrumb_tool('advtools',$settingslink);  
     $r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js).      $r->print(&Apache::loncommon::start_page('Grades Spreadsheet',$js).
               &Apache::lonhtmlcommon::breadcrumbs('Spreadsheet',                &Apache::lonhtmlcommon::breadcrumbs('Spreadsheet',
   'Spreadsheet_About'));    'Spreadsheet_About'));
   
     #      #
     # Open the form      # Tabs
       # 
       &Apache::lonquickgrades::startGradeScreen($r,'spreadsheet');
   
     #      #
     if ($warning) {      # Open the form
         $r->print('<p class="LC_info">'.$warning.'</p>');      # 
     }  
     $r->print('<form action="'.$r->uri.'" name="sheet" method="post">');      $r->print('<form action="'.$r->uri.'" name="sheet" method="post">');
     $r->print(&hiddenfield('sname'  ,$env{'form.sname'}).      $r->print(&hiddenfield('sname'  ,$env{'form.sname'}).
               &hiddenfield('sdomain',$env{'form.sdomain'}).                &hiddenfield('sdomain',$env{'form.sdomain'}).
Line 459  ENDSCRIPT Line 438  ENDSCRIPT
         if (exists($env{'form.recalc'})) {          if (exists($env{'form.recalc'})) {
             &Apache::loncoursedata::delete_caches($env{'requres.course.id'});              &Apache::loncoursedata::delete_caches($env{'requres.course.id'});
         }          }
         if ($env{'form.recalc'} eq 'ilovewastingtime') {          if ($env{'form.recalc'} eq 'expireallsheets') {
             &Apache::lonnet::logthis('spreadsheet expired: entire course');              &Apache::lonnet::logthis('spreadsheet expired: entire course');
             # expire ALL spreadsheets              # expire ALL spreadsheets
             &Apache::lonnet::expirespread('','','studentcalc');              &Apache::lonnet::expirespread('','','studentcalc');
Line 579  END Line 558  END
     $r->print(&hiddenfield('filename',$filename));      $r->print(&hiddenfield('filename',$filename));
     #      #
     # Keep track of the number of times we have been called, sort of.      # Keep track of the number of times we have been called, sort of.
     $r->print(&hiddenfield('not_first_run','whatever'));      $r->print(&hiddenfield('not_first_run','1'));
     #      #
     if (exists($env{'form.not_first_run'}) || $sheettype ne 'classcalc') {      if (exists($env{'form.not_first_run'}) || $sheettype ne 'classcalc') {
         $r->print($spreadsheet->get_html_title());          $r->print($spreadsheet->get_html_title());
Line 589  END Line 568  END
         $r->rflush();          $r->rflush();
         $spreadsheet->display($r);          $spreadsheet->display($r);
     }      }
     $r->print('</form>'.&Apache::loncommon::end_page());      $r->print('</form>');
       &Apache::lonquickgrades::endGradeScreen($r);
       $r->print(&Apache::loncommon::end_page());
     $spreadsheet->clear_package();      $spreadsheet->clear_package();
     return OK;      return OK;
 }  }

Removed from v.1.55.6.1  
changed lines
  Added in v.1.60


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