--- loncom/interface/spreadsheet/lonspreadsheet.pm 2003/06/20 16:55:46 1.14
+++ loncom/interface/spreadsheet/lonspreadsheet.pm 2003/10/11 14:04:54 1.27
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.14 2003/06/20 16:55:46 www Exp $
+# $Id: lonspreadsheet.pm,v 1.27 2003/10/11 14:04:54 www 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();
##
@@ -83,7 +87,7 @@ sub selectbox {
foreach (sort keys(%options)) {
$selout.='';
+ $selout.='>'.&mt($options{$_}).'';
}
return $selout.'';
}
@@ -103,9 +107,8 @@ sub file_dialogs {
if ($save_status ne 'ok') {
$message .= "An error occurred while saving the spreadsheet".
"There error is:".$save_status;
- return $result;
} else {
- $message .= "Spreadsheet saved as ".$ENV{'form.savefilename'};
+ $message .= "Spreadsheet saved as ".$spreadsheet->filename();
}
} elsif (exists($ENV{'form.newformula'}) &&
exists($ENV{'form.cell'}) &&
@@ -119,10 +122,10 @@ sub file_dialogs {
$result .=&hiddenfield('workcopy',$sheettype);
if ($ENV{'form.newformula'} !~ /^\s*$/) {
$message .='
'.
- 'Cell '.$ENV{'form.cell'}.' = | '.
+ ''.&mt('Cell').' '.$ENV{'form.cell'}.' = | '.
''.$ENV{'form.newformula'}." |
\n";
} else {
- $message .= 'Deleted contents of cell '.$ENV{'form.cell'}.'.';
+ $message .= &mt('Deleted contents of cell').' '.$ENV{'form.cell'}.'.';
}
}
##
@@ -137,18 +140,19 @@ sub file_dialogs {
$filename = 'Default';
}
my $save_dialog = ''.
- ' '.
+ ' '.
''.
'';
my $makedefault_dialog = '';
+ 'value="'.&mt('Save as & Make This Sheet the Default').'"/>';
#
my $link = 'Select Spreadsheet File";
+ "('sheet','loadfilename','spreadsheet')\">".&mt('Select Spreadsheet File')."";
+ my $load=&mt('Load:');
my $load_dialog = <
- |
+
|
$link
@@ -165,9 +169,13 @@ END
}
$load_dialog .= '>'.$sheetfilename."\n";
}
- $load_dialog .= " | |
\n\n";
+ $load_dialog .= "\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;
}
@@ -214,11 +225,19 @@ sub handler {
$r->uri.":opa:0:0:Cannot modify spreadsheet";
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
#
&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
#
@@ -278,14 +297,11 @@ sub handler {
}
}
-# ================================================================== Good to go
-
#
# 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');
+ &Apache::loncommon::content_type($r,'text/html');
+ &Apache::loncommon::no_cache($r);
$r->send_http_header;
#
@@ -297,6 +313,11 @@ 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(<Cell Edit Window';
edit_text += '