Return to section anchor after wiki section edit (#15182).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12239 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-10-26 09:03:08 +00:00
parent 7f22cc6113
commit ba083225b7
3 changed files with 9 additions and 5 deletions

View File

@ -144,7 +144,7 @@ class WikiController < ApplicationController
if params[:section].present? && Redmine::WikiFormatting.supports_section_edit? if params[:section].present? && Redmine::WikiFormatting.supports_section_edit?
@section = params[:section].to_i @section = params[:section].to_i
@section_hash = params[:section_hash] @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 else
@content.version = content_params[:version] if content_params[:version] @content.version = content_params[:version] if content_params[:version]
@content.text = @text @content.text = @text
@ -157,7 +157,10 @@ class WikiController < ApplicationController
call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page}) call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page})
respond_to do |format| 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 { format.api {
if was_new_page if was_new_page
render :action => 'show', :status => :created, :location => project_wiki_page_path(@project, @page.title) render :action => 'show', :status => :created, :location => project_wiki_page_path(@project, @page.title)

View File

@ -831,7 +831,8 @@ module ApplicationHelper
content_tag('div', content_tag('div',
link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)), link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)),
:class => 'contextual', :class => 'contextual',
:title => l(:button_edit_section)) + heading.html_safe :title => l(:button_edit_section),
:id => "section-#{@current_section}") + heading.html_safe
else else
heading heading
end end

View File

@ -454,7 +454,7 @@ class WikiControllerTest < ActionController::TestCase
end end
end 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 assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.reload.content.text
end end
@ -477,7 +477,7 @@ class WikiControllerTest < ActionController::TestCase
end end
end 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 page.reload
assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.content.text assert_equal Redmine::WikiFormatting::Textile::Formatter.new(text).update_section(2, "New section content"), page.content.text
assert_equal 4, page.content.version assert_equal 4, page.content.version