--- loncom/xml/lonxml.pm 2006/11/23 02:26:43 1.426
+++ loncom/xml/lonxml.pm 2006/11/30 01:07:09 1.428
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# XML Parser Module
#
-# $Id: lonxml.pm,v 1.426 2006/11/23 02:26:43 banghart Exp $
+# $Id: lonxml.pm,v 1.428 2006/11/30 01:07:09 banghart Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1334,9 +1334,13 @@ FULLPAGE
my $titledisplay=&display_title();
my %lt=&Apache::lonlocal::texthash('st' => 'Save and Edit',
'vi' => 'Save and View',
+ 'dv' => 'Discard Edits and View',
+ 'un' => 'undo',
'ed' => 'Edit');
my $buttons=(<
+
BUTTONS
@@ -1416,14 +1420,10 @@ sub handler {
#
# Edit action? Save file.
#
- unless ($env{'request.state'} eq 'published') {
- if ($env{'form.savethisfile'} || $env{'form.viewmode'}) {
- if (&storefile($file,$env{'form.filecont'})) {
- &Apache::lonxml::info("".
- &mt('Updated').": ".
- &Apache::lonlocal::locallocaltime(time).
- " ");
- }
+ if (!($env{'request.state'} eq 'published')) {
+ if ($env{'form.savethisfile'} || $env{'form.viewmode'} || $env{'form.Undo'}) {
+ my $problem=&Apache::lonnet::getfile($file);
+ my $error = &Apache::lonhomework::handle_save_or_undo($request, \$problem, \$env{'form.filecont'});
}
}
my %mystyle;
@@ -1457,7 +1457,8 @@ ENDNOTFOUND
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['editmode']);
}
- if (!$env{'form.editmode'} || $env{'form.viewmode'}) {
+ &Apache::lonnet::logthis("edit mode is ".$env{'form.editmode'});
+ if (!$env{'form.editmode'} || $env{'form.viewmode'} || $env{'form.discardview'}) {
$result = &Apache::lonxml::xmlparse($request,$target,$filecontents,
'',%mystyle);
undef($Apache::lonhomework::parsing_a_task);
@@ -1471,7 +1472,8 @@ ENDNOTFOUND
# Edit action? Insert editing commands
#
unless ($env{'request.state'} eq 'published') {
- if ($env{'form.editmode'} && (!($env{'form.viewmode'}))) {
+ if ($env{'form.editmode'} && (!($env{'form.viewmode'})) && (!($env{'form.discardview'})))
+ {
my $displayfile=$request->uri;
$displayfile=~s/^\/[^\/]*//;
my %options = ();