X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/0e19a9290d77430dc68479ea469f19fb83ab0fcc..7369b7427c3df17314cfa5e9f69bedd78f760047:/app/controllers/application_controller.rb diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index c50c5f664..6c32b74b2 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,7 +2,7 @@ # 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 @@ -120,20 +120,20 @@ class ApplicationController < ActionController::Base 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 + if STATUS == :database_offline or STATUS == :api_offline response.headers['Error'] = "Database offline for maintenance" render :nothing => true, :status => :service_unavailable return false @@ -141,8 +141,8 @@ class ApplicationController < ActionController::Base 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 + if STATUS == :database_offline or STATUS == :database_readonly or + STATUS == :api_offline or STATUS == :api_readonly response.headers['Error'] = "Database offline for maintenance" render :nothing => true, :status => :service_unavailable return false @@ -219,7 +219,7 @@ class ApplicationController < ActionController::Base ## # 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 @@ -229,7 +229,7 @@ class ApplicationController < ActionController::Base ## # 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 @@ -249,6 +249,16 @@ class ApplicationController < ActionController::Base options = actions.extract_options! cache_path = options[:cache_path] || Hash.new + options[:unless] = case options[:unless] + when NilClass then Array.new + when Array then options[:unless] + else unlessp = [ options[:unless] ] + end + + options[:unless].push(Proc.new do |controller| + controller.params.include?(:page) + end) + options[:cache_path] = Proc.new do |controller| cache_path.merge(controller.params).merge(:locale => I18n.locale) end