Don't render the offline page for XHR requests

This commit is contained in:
Tom Hughes 2014-12-14 00:28:26 +00:00
parent 2b823b7b07
commit 4e6fe811a0

View file

@ -192,14 +192,22 @@ class ApplicationController < ActionController::Base
def check_database_readable(need_api = false)
if STATUS == :database_offline or (need_api and STATUS == :api_offline)
redirect_to :controller => 'site', :action => 'offline'
if request.xhr?
report_error "Database offline for maintenance", :service_unavailable
else
redirect_to :controller => 'site', :action => 'offline'
end
end
end
def check_database_writable(need_api = false)
if STATUS == :database_offline or STATUS == :database_readonly or
(need_api and (STATUS == :api_offline or STATUS == :api_readonly))
redirect_to :controller => 'site', :action => 'offline'
if request.xhr?
report_error "Database offline for maintenance", :service_unavailable
else
redirect_to :controller => 'site', :action => 'offline'
end
end
end