]> source.dussan.org Git - redmine.git/commitdiff
Return to section anchor after wiki section edit (#15182).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 26 Oct 2013 09:03:08 +0000 (09:03 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 26 Oct 2013 09:03:08 +0000 (09:03 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12239 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/wiki_controller.rb
app/helpers/application_helper.rb
test/functional/wiki_controller_test.rb

index 8c301151000caccffb515d2f30fb84502f4157dd..42a60efc5525e8197fdfc7773ab812922f46e9c2 100644 (file)
@@ -144,7 +144,7 @@ class WikiController < ApplicationController
     if params[:section].present? && Redmine::WikiFormatting.supports_section_edit?
       @section = params[:section].to_i
       @section_hash = params[:section_hash]
-      @content.text = Redmine::WikiFormatting.formatter.new(@content.text).update_section(params[:section].to_i, @text, @section_hash)
+      @content.text = Redmine::WikiFormatting.formatter.new(@content.text).update_section(@section, @text, @section_hash)
     else
       @content.version = content_params[:version] if content_params[:version]
       @content.text = @text
@@ -157,7 +157,10 @@ class WikiController < ApplicationController
       call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page})
 
       respond_to do |format|
-        format.html { redirect_to project_wiki_page_path(@project, @page.title) }
+        format.html {
+          anchor = @section ? "section-#{@section}" : nil
+          redirect_to project_wiki_page_path(@project, @page.title, :anchor => anchor)
+        }
         format.api {
           if was_new_page
             render :action => 'show', :status => :created, :location => project_wiki_page_path(@project, @page.title)
index e5b75c4cf7a083da7cc38420f291bce823eece16..2b37ad312bc1fe7afd297852b49a29886fdff3c4 100644 (file)
@@ -831,7 +831,8 @@ module ApplicationHelper
         content_tag('div',
           link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)),
           :class => 'contextual',
-          :title => l(:button_edit_section)) + heading.html_safe
+          :title => l(:button_edit_section),
+          :id => "section-#{@current_section}") + heading.html_safe
       else
         heading
       end
index 6bf93ea4f19ed4899ff4e72f9dc62398bd19485b..9c59668c523288b03a5c8c7ae1d03bbc7d376986 100644 (file)
@@ -454,7 +454,7 @@ class WikiControllerTest < ActionController::TestCase
         end
       end
     end
-    assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections'
+    assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections#section-2'
     assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.reload.content.text
   end
 
@@ -477,7 +477,7 @@ class WikiControllerTest < ActionController::TestCase
         end
       end
     end
-    assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections'
+    assert_redirected_to '/projects/ecookbook/wiki/Page_with_sections#section-2'
     page.reload
     assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.content.text
     assert_equal 4, page.content.version