X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/7a5ac0394dfcd5d1cd5a8b659563ddd7afc33332..7f955a4aca277350a70bb95f0ca97e64d7d808c4:/app/controllers/browse_controller.rb diff --git a/app/controllers/browse_controller.rb b/app/controllers/browse_controller.rb index a511d67d3..a7dd5f5c9 100644 --- a/app/controllers/browse_controller.rb +++ b/app/controllers/browse_controller.rb @@ -4,7 +4,7 @@ class BrowseController < ApplicationController before_filter :authorize_web before_filter :set_locale before_filter { |c| c.check_database_readable(true) } - around_filter :timeout, :except => [:start] + around_filter :web_timeout, :except => [:start] def start end @@ -72,25 +72,11 @@ class BrowseController < ApplicationController @next = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id", { :id => @changeset.id }] ) @prev = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id", { :id => @changeset.id }] ) - @next_by_user = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id AND user_id = :user_id", {:id => @changeset.id, :user_id => @changeset.user_id }] ) - @prev_by_user = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id AND user_id = :user_id", {:id => @changeset.id, :user_id => @changeset.user_id }] ) + if @changeset.user.data_public? + @next_by_user = Changeset.find(:first, :order => "id ASC", :conditions => [ "id > :id AND user_id = :user_id", { :id => @changeset.id, :user_id => @changeset.user_id }] ) + @prev_by_user = Changeset.find(:first, :order => "id DESC", :conditions => [ "id < :id AND user_id = :user_id", { :id => @changeset.id, :user_id => @changeset.user_id }] ) + end rescue ActiveRecord::RecordNotFound render :action => "not_found", :status => :not_found end - -private - - def timeout - SystemTimer.timeout_after(30) do - yield - end - rescue ActionView::TemplateError => ex - if ex.original_exception.is_a?(Timeout::Error) - render :action => "timeout" - else - raise - end - rescue Timeout::Error - render :action => "timeout" - end end