From 5de545fd795a1e80a4e677ae2e4dc7175d38d81f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 8 Jul 2017 13:51:18 +0000 Subject: [PATCH] Set the parent page when creating a new wiki page from the "Add page" link (#26043). git-svn-id: http://svn.redmine.org/redmine/trunk@16774 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/wiki_controller.rb | 2 +- app/views/wiki/_new_modal.html.erb | 2 +- app/views/wiki/show.html.erb | 2 +- test/functional/wiki_controller_test.rb | 7 +++++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 5496fbbdd..8064cd64f 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -70,7 +70,7 @@ class WikiController < ApplicationController @page.title = '' unless editable? @page.validate if @page.errors[:title].blank? - path = project_wiki_page_path(@project, @page.title) + path = project_wiki_page_path(:project_id => @project, :id => @page.title, :parent => params[:parent]) respond_to do |format| format.html { redirect_to path } format.js { render :js => "window.location = #{path.to_json}" } diff --git a/app/views/wiki/_new_modal.html.erb b/app/views/wiki/_new_modal.html.erb index 52a87b751..472bbd63f 100644 --- a/app/views/wiki/_new_modal.html.erb +++ b/app/views/wiki/_new_modal.html.erb @@ -1,7 +1,7 @@

<%=l(:label_wiki_page_new)%>

<%= labelled_form_for :page, @page, - :url => new_project_wiki_page_path(@project), + :url => new_project_wiki_page_path(:project_id => @project, :parent => params[:parent]), :method => 'post', :remote => true do |f| %> diff --git a/app/views/wiki/show.html.erb b/app/views/wiki/show.html.erb index 1cbfcbc65..a77421afa 100644 --- a/app/views/wiki/show.html.erb +++ b/app/views/wiki/show.html.erb @@ -1,6 +1,6 @@
<% if User.current.allowed_to?(:edit_wiki_pages, @project) %> -<%= link_to l(:label_wiki_page_new), new_project_wiki_page_path(@project), :remote => true, :class => 'icon icon-add' %> +<%= link_to l(:label_wiki_page_new), new_project_wiki_page_path(:project_id => @project, :parent => @page.title), :remote => true, :class => 'icon icon-add' %> <% end %> <% if @editable %> <% if @content.current_version? %> diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index dd28fb6b7..98d076cbd 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -208,6 +208,13 @@ class WikiControllerTest < Redmine::ControllerTest assert_equal 'window.location = "/projects/ecookbook/wiki/New_Page"', response.body end + def test_post_new_should_redirect_to_edit_with_parent + @request.session[:user_id] = 2 + + post :new, :params => {:project_id => 'ecookbook', :title => 'New_Page', :parent => 'Child_1'} + assert_redirected_to '/projects/ecookbook/wiki/New_Page?parent=Child_1' + end + def test_post_new_with_invalid_title_should_display_errors @request.session[:user_id] = 2 -- 2.39.5