mirror of
https://github.com/redmine/redmine.git
synced 2024-08-05 20:17:24 +02:00
Fixed that #destroy_version with invalid version destroys wiki page content (#21155).
git-svn-id: http://svn.redmine.org/redmine/trunk@14856 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
9fc0d230c8
commit
c2fe2d0c06
@ -266,9 +266,12 @@ class WikiController < ApplicationController
|
||||
def destroy_version
|
||||
return render_403 unless editable?
|
||||
|
||||
@content = @page.content_for_version(params[:version])
|
||||
@content.destroy
|
||||
redirect_to_referer_or history_project_wiki_page_path(@project, @page.title)
|
||||
if content = @page.content.versions.find_by_version(params[:version])
|
||||
content.destroy
|
||||
redirect_to_referer_or history_project_wiki_page_path(@project, @page.title)
|
||||
else
|
||||
render_404
|
||||
end
|
||||
end
|
||||
|
||||
# Export wiki to a single pdf or html file
|
||||
|
@ -756,6 +756,18 @@ class WikiControllerTest < ActionController::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_destroy_invalid_version_should_respond_with_404
|
||||
@request.session[:user_id] = 2
|
||||
assert_no_difference 'WikiContent::Version.count' do
|
||||
assert_no_difference 'WikiContent.count' do
|
||||
assert_no_difference 'WikiPage.count' do
|
||||
delete :destroy_version, :project_id => 'ecookbook', :id => 'CookBook_documentation', :version => 99
|
||||
end
|
||||
end
|
||||
end
|
||||
assert_response 404
|
||||
end
|
||||
|
||||
def test_index
|
||||
get :index, :project_id => 'ecookbook'
|
||||
assert_response :success
|
||||
|
Loading…
Reference in New Issue
Block a user