--- loncom/interface/spreadsheet/lonspreadsheet.pm 2003/05/27 20:05:46 1.6
+++ loncom/interface/spreadsheet/lonspreadsheet.pm 2003/06/18 19:44:22 1.11
@@ -1,5 +1,5 @@
#
-# $Id: lonspreadsheet.pm,v 1.6 2003/05/27 20:05:46 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,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 {
@@ -322,6 +330,7 @@ ENDSCRIPT
#
if (exists($ENV{'form.load'}) && exists($ENV{'form.loadfilename'})) {
$filename = $ENV{'form.loadfilename'};
+ $ENV{'form.workcopy'} = 'no';
}
}
##
@@ -343,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));
@@ -370,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('