\n";
+ if ($ENV{'form.newformula'} !~ /^\s*$/) {
+ $message .='
'.
+ '
Cell '.$ENV{'form.cell'}.' =
'.
+ '
'.$ENV{'form.newformula'}."
\n";
+ } else {
+ $message .= 'Deleted contents of cell '.$ENV{'form.cell'}.'.';
+ }
}
##
## Editing code
@@ -126,34 +132,36 @@ sub file_dialogs {
##
## Create the save and load dialogs
my $filename = $spreadsheet->filename();
- $filename = '' if ($filename =~ /^default\.$sheettype/i);
- $filename =~ s/_$sheettype$//;
+ my $truefilename = $filename;
+ if ($spreadsheet->is_default()) {
+ $filename = 'Default';
+ }
my $save_dialog = ''.
' '.
''.
+ $truefilename.'" />'.
'';
my $makedefault_dialog = '';
+ 'value="Save as & Make This Sheet the Default"/>';
#
my $link = 'Browse";
+ "('sheet','loadfilename','spreadsheet')\">Select Spreadsheet File";
my $load_dialog = <
-
+
$link
END
- return $result;
+ return ($result,$message);
}
sub handler {
@@ -230,32 +238,53 @@ sub handler {
$name = $ENV{'form.sname'};
$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
my $allowed_to_edit = &Apache::lonnet::allowed('mgr',
$ENV{'request.course.id'});
+ # Only those instructors/tas/whatevers with complete access
+ # (not section restricted) are able to modify spreadsheets.
my $allowed_to_view = &Apache::lonnet::allowed('vgr',
$ENV{'request.course.id'});
-
+ if (! $allowed_to_view) {
+ $allowed_to_view = &Apache::lonnet::allowed('vgr',
+ $ENV{'request.course.id'}.'/'.$ENV{'request.course.sec'});
+ # Those who are restricted by section are allowed to view.
+ # The routines in lonstatistics which decide which students'
+ # will be shown take care of the restriction by section.
+ }
#
# Only those able to view others grades will be allowed to continue
# if they are not requesting their own.
- if (($sheettype eq 'classcalc') ||
- ($name ne $ENV{'user.name'} ) ||
- ($domain ne $ENV{'user.domain'})) {
+ if ($sheettype eq 'classcalc') {
if (! $allowed_to_view) {
- $r->print('