--- loncom/interface/spreadsheet/lonspreadsheet.pm 2003/08/17 18:50:12 1.20
+++ loncom/interface/spreadsheet/lonspreadsheet.pm 2003/11/21 18:18:04 1.30
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.20 2003/08/17 18:50:12 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.30 2003/11/21 18:18:04 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -54,12 +54,16 @@ built-in functions.
package Apache::lonspreadsheet;
use strict;
+use warnings FATAL=>'all';
+no warnings 'uninitialized';
use Apache::classcalc();
use Apache::studentcalc();
use Apache::assesscalc();
use Apache::Constants qw(:common :http);
use Apache::lonnet;
use Apache::lonhtmlcommon;
+use Apache::lonlocal;
+use Apache::loncoursedata();
use HTML::Entities();
##
@@ -68,8 +72,8 @@ use HTML::Entities();
sub textfield {
my ($title,$name,$value)=@_;
- return "\n
$title:
".
- '';
+ return "\n
$title:
".
+ '';
}
sub hiddenfield {
@@ -79,11 +83,11 @@ sub hiddenfield {
sub selectbox {
my ($title,$name,$value,%options)=@_;
- my $selout="\n
$title:
".'\n
| \n\n";
#
$result .=<
+
+ -->
+
END
return ($result,$message);
}
@@ -200,7 +211,7 @@ sub handler {
# HTML Header
#
if ($r->header_only) {
- $r->content_type('text/html');
+ &Apache::loncommon::content_type($r,'text/html');
$r->send_http_header;
return OK;
}
@@ -216,9 +227,12 @@ sub handler {
}
my $courseid = $ENV{'request.course.id'};
#
- # Do not allow students to continue if standard grading is in effect.
+ # Do not allow students to continue if standard or external grading is in
+ # effect.
+ #
if ($ENV{'request.role'} =~ /^st\./) {
- if ($ENV{'course.'.$courseid.'.grading'} eq 'standard') {
+ if ($ENV{'course.'.$courseid.'.grading'} eq 'standard' ||
+ $ENV{'course.'.$courseid.'.grading'} eq 'external' ) {
return HTTP_NOT_ACCEPTABLE;
}
}
@@ -289,7 +303,7 @@ sub handler {
#
# Open page, try to prevent browser cache.
#
- $r->content_type('text/html');
+ &Apache::loncommon::content_type($r,'text/html');
&Apache::loncommon::no_cache($r);
$r->send_http_header;
@@ -302,11 +316,16 @@ sub handler {
## Spit out the javascript required for editing
##
if ($allowed_to_edit) {
+ my %lt=(
+ 'ce' => 'Cell',
+ 'ac' => 'Accept',
+ 'dc' => 'Discard Changes'
+ );
my $extra_javascript =
&Apache::loncommon::browser_and_searcher_javascript();
$r->print(<
-
+
ENDSCRIPT
}
@@ -365,6 +385,9 @@ ENDSCRIPT
##
## Take care of "backdoor" spreadsheet expiration / recalc stuff
if ($allowed_to_edit && exists($ENV{'form.recalc'})) {
+ if (exists($ENV{'form.recalc'})) {
+ &Apache::loncoursedata::delete_caches($ENV{'requres.course.id'});
+ }
if ($ENV{'form.recalc'} eq 'ilovewastingtime') {
&Apache::lonnet::logthis('ilovewastingtime');
# expire ALL spreadsheets
@@ -417,13 +440,13 @@ ENDSCRIPT
if ($action_message) {
$action_message .= '
';
}
- $action_message .= 'Made this spreadsheet the default';
+ $action_message .= &mt('Made this spreadsheet the default');
if ($sheettype eq 'classcalc') {
- $action_message .= ' for the course';
+ $action_message .= ' '.&mt('for the course');
} elsif ($sheettype eq 'studentcalc') {
- $action_message .= ' for all students';
+ $action_message .= ' '.&mt('for all students');
} elsif ($sheettype eq 'assesscalc') {
- $action_message .= ' for all assessments';
+ $action_message .= ' '.&mt('for all assessments');
}
$action_message .= '.';
}
@@ -448,21 +471,22 @@ END
#
$r->print("');
#
# Keep track of the filename