@@ -62,10 +62,12 class WikiController < ApplicationController | |||||
62 |
|
62 | |||
63 | def new |
|
63 | def new | |
64 | @page = WikiPage.new(:wiki => @wiki, :title => params[:title]) |
|
64 | @page = WikiPage.new(:wiki => @wiki, :title => params[:title]) | |
65 |
unless User.current.allowed_to?(:edit_wiki_pages, @project) |
|
65 | unless User.current.allowed_to?(:edit_wiki_pages, @project) | |
66 | render_403 |
|
66 | render_403 | |
|
67 | return | |||
67 | end |
|
68 | end | |
68 | if request.post? |
|
69 | if request.post? | |
|
70 | @page.title = '' unless editable? | |||
69 | @page.validate |
|
71 | @page.validate | |
70 | if @page.errors[:title].blank? |
|
72 | if @page.errors[:title].blank? | |
71 | path = project_wiki_page_path(@project, @page.title) |
|
73 | path = project_wiki_page_path(@project, @page.title) |
@@ -216,6 +216,15 class WikiControllerTest < Redmine::ControllerTest | |||||
216 | assert_select_error 'Title has already been taken' |
|
216 | assert_select_error 'Title has already been taken' | |
217 | end |
|
217 | end | |
218 |
|
218 | |||
|
219 | def test_post_new_with_protected_title_should_display_errors | |||
|
220 | Role.find(1).remove_permission!(:protect_wiki_pages) | |||
|
221 | @request.session[:user_id] = 2 | |||
|
222 | ||||
|
223 | post :new, :params => {:project_id => 'ecookbook', :title => 'Sidebar'} | |||
|
224 | assert_response :success | |||
|
225 | assert_select_error /Title/ | |||
|
226 | end | |||
|
227 | ||||
219 | def test_post_new_xhr_with_invalid_title_should_display_errors |
|
228 | def test_post_new_xhr_with_invalid_title_should_display_errors | |
220 | @request.session[:user_id] = 2 |
|
229 | @request.session[:user_id] = 2 | |
221 |
|
230 |
General Comments 0
You need to be logged in to leave comments.
Login now