# Likewise, all the methods added will be available for all controllers.
class ApplicationController < ActionController::Base
- if OSM_STATUS == :database_readonly or OSM_STATUS == :database_offline
+ if STATUS == :database_readonly or STATUS == :database_offline
session :off
end
end
def check_database_readable(need_api = false)
- if OSM_STATUS == :database_offline or (need_api and OSM_STATUS == :api_offline)
+ if STATUS == :database_offline or (need_api and STATUS == :api_offline)
redirect_to :controller => 'site', :action => 'offline'
end
end
def check_database_writable(need_api = false)
- if OSM_STATUS == :database_offline or OSM_STATUS == :database_readonly or
- (need_api and (OSM_STATUS == :api_offline or OSM_STATUS == :api_readonly))
+ 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'
end
end
def check_api_readable
- if OSM_STATUS == :database_offline or OSM_STATUS == :api_offline
- response.headers['Error'] = "Database offline for maintenance"
- render :nothing => true, :status => :service_unavailable
+ if STATUS == :database_offline or STATUS == :api_offline
+ report_error "Database offline for maintenance", :service_unavailable
return false
end
end
def check_api_writable
- if OSM_STATUS == :database_offline or OSM_STATUS == :database_readonly or
- OSM_STATUS == :api_offline or OSM_STATUS == :api_readonly
- response.headers['Error'] = "Database offline for maintenance"
- render :nothing => true, :status => :service_unavailable
+ if STATUS == :database_offline or STATUS == :database_readonly or
+ STATUS == :api_offline or STATUS == :api_readonly
+ report_error "Database offline for maintenance", :service_unavailable
return false
end
end
def require_public_data
unless @user.data_public?
- response.headers['Error'] = "You must make your edits public to upload new data"
- render :nothing => true, :status => :forbidden
+ report_error "You must make your edits public to upload new data", :forbidden
return false
end
end
##
# wrap an api call in a timeout
def api_call_timeout
- SystemTimer.timeout_after(APP_CONFIG['api_timeout']) do
+ SystemTimer.timeout_after(API_TIMEOUT) do
yield
end
rescue Timeout::Error
##
# wrap a web page in a timeout
def web_timeout
- SystemTimer.timeout_after(APP_CONFIG['web_timeout']) do
+ SystemTimer.timeout_after(WEB_TIMEOUT) do
yield
end
rescue ActionView::TemplateError => ex