Index: config/locales/en.yml =================================================================== --- config/locales/en.yml (revision 2825) +++ config/locales/en.yml (working copy) @@ -682,6 +682,7 @@ button_login: Login button_submit: Submit button_save: Save + button_save_and_continue: Save and Continue button_check_all: Check all button_uncheck_all: Uncheck all button_delete: Delete Index: app/views/wiki/edit.rhtml =================================================================== --- app/views/wiki/edit.rhtml (revision 2825) +++ app/views/wiki/edit.rhtml (working copy) @@ -7,13 +7,15 @@

<%= f.text_area :text, :cols => 100, :rows => 25, :class => 'wiki-edit', :accesskey => accesskey(:edit) %>


<%= f.text_field :comments, :size => 120 %>

<%= submit_tag l(:button_save) %> + <%= submit_tag l(:button_save_and_continue) %> <%= link_to_remote l(:label_preview), { :url => { :controller => 'wiki', :action => 'preview', :id => @project, :page => @page.title }, :method => 'post', :update => 'preview', :with => "Form.serialize('wiki_form')", :complete => "Element.scrollTo('preview')" - }, :accesskey => accesskey(:preview) %>

+ }, :accesskey => accesskey(:preview) %> +

<%= wikitoolbar_for 'content_text' %> <% end %> Index: app/controllers/wiki_controller.rb =================================================================== --- app/controllers/wiki_controller.rb (revision 2825) +++ app/controllers/wiki_controller.rb (working copy) @@ -74,7 +74,11 @@ else if !@page.new_record? && @content.text == params[:content][:text] # don't save if text wasn't changed - redirect_to :action => 'index', :id => @project, :page => @page.title + if params[:commit] == 'Save and Continue' + redirect_to :action => 'edit', :id => @project, :page => @page.title + else + redirect_to :action => 'index', :id => @project, :page => @page.title + end return end #@content.text = params[:content][:text] @@ -84,7 +88,11 @@ # if page is new @page.save will also save content, but not if page isn't a new record if (@page.new_record? ? @page.save : @content.save) call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page}) - redirect_to :action => 'index', :id => @project, :page => @page.title + if params[:commit] == 'Save and Continue' + redirect_to :action => 'edit', :id => @project, :page => @page.title + else + redirect_to :action => 'index', :id => @project, :page => @page.title + end end end rescue ActiveRecord::StaleObjectError