--- 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 = ();