diff options
author | Marius Balteanu <marius.balteanu@zitec.com> | 2022-02-18 08:03:52 +0000 |
---|---|---|
committer | Marius Balteanu <marius.balteanu@zitec.com> | 2022-02-18 08:03:52 +0000 |
commit | d8263dcdee13b27ea4ac56c28d10dc2ca7fb8b40 (patch) | |
tree | 8cae586bd8ca7b834be34187b17df96ae19d06e6 | |
parent | f70d7a3096971c43370247627feee3c0895bb828 (diff) | |
download | redmine-d8263dcdee13b27ea4ac56c28d10dc2ca7fb8b40.tar.gz redmine-d8263dcdee13b27ea4ac56c28d10dc2ca7fb8b40.zip |
Return 404 if revision URL doesn't exist (#36561).
Patch by Mizuki ISHIKAWA.
git-svn-id: http://svn.redmine.org/redmine/trunk@21413 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/wiki_controller.rb | 2 | ||||
-rw-r--r-- | app/models/wiki_page.rb | 6 | ||||
-rw-r--r-- | test/functional/wiki_controller_test.rb | 6 |
3 files changed, 8 insertions, 6 deletions
diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 98066a713..074031eec 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -89,7 +89,7 @@ class WikiController < ApplicationController end @content = @page.content_for_version(params[:version]) if @content.nil? - if User.current.allowed_to?(:edit_wiki_pages, @project) && editable? && !api_request? + if params[:version].blank? && User.current.allowed_to?(:edit_wiki_pages, @project) && editable? && !api_request? edit render :action => 'edit' else diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index ff1c598eb..7c5693ca1 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -162,11 +162,7 @@ class WikiPage < ActiveRecord::Base end def content_for_version(version=nil) - if content - result = content.versions.find_by_version(version.to_i) if version - result ||= content - result - end + (content && version) ? content.versions.find_by_version(version.to_i) : content end def diff(version_to=nil, version_from=nil) diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index d5758cb09..64d0a4e48 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -201,6 +201,12 @@ class WikiControllerTest < Redmine::ControllerTest assert_select 'select[name=?] option[value="2"][selected=selected]', 'wiki_page[parent_id]' end + def test_show_unexistent_version_page + @request.session[:user_id] = 2 + get :show, :params => {:project_id => 1, :id => 'CookBook_documentation', :version => 100} + assert_response 404 + end + def test_show_should_not_show_history_without_permission Role.anonymous.remove_permission! :view_wiki_edits get :show, :params => {:project_id => 1, :id => 'Page with sections', :version => 2} |