Respond with 404 on ActionView::MissingTemplate (#11503).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10204 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
49e80c2cea
commit
327660eb7f
|
@ -39,6 +39,7 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
rescue_from ActionController::InvalidAuthenticityToken, :with => :invalid_authenticity_token
|
rescue_from ActionController::InvalidAuthenticityToken, :with => :invalid_authenticity_token
|
||||||
rescue_from ::Unauthorized, :with => :deny_access
|
rescue_from ::Unauthorized, :with => :deny_access
|
||||||
|
rescue_from ::ActionView::MissingTemplate, :with => :missing_template
|
||||||
|
|
||||||
include Redmine::Search::Controller
|
include Redmine::Search::Controller
|
||||||
include Redmine::MenuManager::MenuController
|
include Redmine::MenuManager::MenuController
|
||||||
|
@ -352,13 +353,17 @@ class ApplicationController < ActionController::Base
|
||||||
format.html {
|
format.html {
|
||||||
render :template => 'common/error', :layout => use_layout, :status => @status
|
render :template => 'common/error', :layout => use_layout, :status => @status
|
||||||
}
|
}
|
||||||
format.atom { head @status }
|
format.any { head @status }
|
||||||
format.xml { head @status }
|
|
||||||
format.js { head @status }
|
|
||||||
format.json { head @status }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Handler for ActionView::MissingTemplate exception
|
||||||
|
def missing_template
|
||||||
|
logger.warn "Missing template, responding with 404"
|
||||||
|
@project = nil
|
||||||
|
render_404
|
||||||
|
end
|
||||||
|
|
||||||
# Filter for actions that provide an API response
|
# Filter for actions that provide an API response
|
||||||
# but have no HTML representation for non admin users
|
# but have no HTML representation for non admin users
|
||||||
def require_admin_or_api_request
|
def require_admin_or_api_request
|
||||||
|
|
|
@ -60,4 +60,9 @@ class ApplicationTest < ActionController::IntegrationTest
|
||||||
assert_response 200
|
assert_response 200
|
||||||
assert_nil session[:user_id]
|
assert_nil session[:user_id]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_missing_template_should_respond_with_404
|
||||||
|
get '/login.png'
|
||||||
|
assert_response 404
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue