--- loncom/interface/spreadsheet/lonspreadsheet.pm 2003/05/28 15:19:34 1.7
+++ loncom/interface/spreadsheet/lonspreadsheet.pm 2003/06/18 19:44:22 1.11
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.7 2003/05/28 15:19:34 matthew Exp $
+# $Id: lonspreadsheet.pm,v 1.11 2003/06/18 19:44:22 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -93,18 +93,19 @@ sub file_dialogs {
my $bgcolor = "#FFFFFF";
my $sheettype = $spreadsheet->{'type'};
my $result = '';
+ my $message = '';
##
## Deal with saving the spreadsheet
- if (exists($ENV{'form.save'}) &&
+ if ((exists($ENV{'form.save'}) || exists($ENV{'form.makedefault'})) &&
exists($ENV{'form.savefilename'})) {
$spreadsheet->filename($ENV{'form.savefilename'});
my $save_status = $spreadsheet->save();
if ($save_status ne 'ok') {
- $result .= "An error occurred while saving the spreadsheet".
+ $message .= "An error occurred while saving the spreadsheet".
"There error is:".$save_status;
return $result;
} else {
- $result .= "Spreadsheet saved as ".$ENV{'form.savefilename'};
+ $message .= "Spreadsheet saved as ".$ENV{'form.savefilename'};
}
} elsif (exists($ENV{'form.newformula'}) &&
exists($ENV{'form.cell'}) &&
@@ -116,8 +117,13 @@ sub file_dialogs {
$spreadsheet->save_tmp();
# output that we are dealing with a temporary file
$result .=&hiddenfield('workcopy',$sheettype);
- $result .='
'.$ENV{'form.cell'}.' = '.
- $ENV{'form.newformula'}."
\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,23 +132,25 @@ sub file_dialogs {
##
## Create the save and load dialogs
my $filename = $spreadsheet->filename();
- $filename = 'Default' 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
|
|
@@ -150,7 +158,6 @@ sub file_dialogs {
END
my $default_filename_set = 0;
foreach my $sheetfilename ($spreadsheet->othersheets()) {
- $sheetfilename =~ s/_$sheettype$//;
$load_dialog .= ' '."\n";
- } else {
- $load_dialog .= ''.
- "\n";
- }
$load_dialog .= " | |
\n\n";
#
$result .=<
END
- return $result;
+ return ($result,$message);
}
sub handler {
@@ -351,20 +352,48 @@ ENDSCRIPT
# error error - run in circles, scream and shout
return;
}
+ $spreadsheet->initialize();
#
# Output selector
- $r->print('
');
##
## Editing/loading/saving
if ($allowed_to_edit) {
+ my ($html,$action_message) = &file_dialogs($spreadsheet);
+ if ($ENV{'form.makedefault'}) {
+ $spreadsheet->make_default();
+ if ($action_message) {
+ $action_message .= '
';
+ }
+ $action_message .= 'Made this spreadsheet the default';
+ if ($sheettype eq 'classcalc') {
+ $action_message .= ' for the course';
+ } elsif ($sheettype eq 'studentcalc') {
+ $action_message .= ' for all students';
+ } elsif ($sheettype eq 'assesscalc') {
+ $action_message .= ' for all assessments';
+ }
+ $action_message .= '.';
+ }
$r->print(''.$spreadsheet->html_header().' | '.
- ''.
- &file_dialogs($spreadsheet)." |
\n");
+ ''.$html." | \n");
+ $r->print(<
+Last Action: |
+ |
+ $action_message |
+
+
+END
$r->rflush();
} else {
$r->print(''.$spreadsheet->html_header().
" |
\n");
}
+ $r->rflush();
+ #
+ if (! exists($ENV{'form.not_first_run'}) && $sheettype eq 'classcalc') {
+ $r->print('
');
+ }
#
# Keep track of the filename
$r->print(&hiddenfield('filename',$filename));
@@ -378,8 +407,6 @@ ENDSCRIPT
$r->print($spreadsheet->parent_link());
}
$spreadsheet->display($r);
- } else {
- $r->print("Make your selections and bonk the 'update display' button
");
}
$r->print('