Don't use SudoMode.disable! to skip API requests (#19851).

git-svn-id: http://svn.redmine.org/redmine/trunk@14338 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2015-06-19 19:51:24 +00:00
parent fe9eec19c5
commit c2fca37999
2 changed files with 19 additions and 4 deletions

View File

@@ -61,9 +61,7 @@ module Redmine
# After the request refreshes the timestamp if sudo mode was used during
# this request.
def sudo_mode
if api_request?
SudoMode.disable!
elsif sudo_timestamp_valid?
if sudo_timestamp_valid?
SudoMode.active!
end
yield
@@ -145,7 +143,9 @@ module Redmine
class SudoRequestFilter < Struct.new(:parameters, :request_methods)
def before(controller)
method_matches = request_methods.blank? || request_methods.include?(controller.request.method_symbol)
if SudoMode.possible? && method_matches
if controller.api_request?
true
elsif SudoMode.possible? && method_matches
controller.require_sudo_mode( *parameters )
else
true