Add OldElementsController base class

This commit is contained in:
Anton Khorev 2025-01-04 17:00:43 +03:00
parent 95b919c5d1
commit cb80bd3b96
4 changed files with 22 additions and 57 deletions

View file

@ -0,0 +1,19 @@
class OldElementsController < ApplicationController
layout :map_layout
before_action :authorize_web
before_action :set_locale
before_action -> { check_database_readable(:need_api => true) }
before_action :require_oauth
authorize_resource
before_action :require_moderator_for_unredacted_history
around_action :web_timeout
private
def require_moderator_for_unredacted_history
deny_access(nil) if params[:show_redactions] && !current_user&.moderator?
end
end

View file

@ -1,16 +1,4 @@
class OldNodesController < ApplicationController
layout :map_layout
before_action :authorize_web
before_action :set_locale
before_action -> { check_database_readable(:need_api => true) }
before_action :require_oauth
authorize_resource
before_action :require_moderator_for_unredacted_history
around_action :web_timeout
class OldNodesController < OldElementsController
def index
@type = "node"
@feature = Node.preload(:node_tags, :old_nodes => [:old_tags, { :changeset => [:changeset_tags, :user] }]).find(params[:id])
@ -25,10 +13,4 @@ class OldNodesController < ApplicationController
rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found
end
private
def require_moderator_for_unredacted_history
deny_access(nil) if params[:show_redactions] && !current_user&.moderator?
end
end

View file

@ -1,16 +1,4 @@
class OldRelationsController < ApplicationController
layout :map_layout
before_action :authorize_web
before_action :set_locale
before_action -> { check_database_readable(:need_api => true) }
before_action :require_oauth
authorize_resource
before_action :require_moderator_for_unredacted_history
around_action :web_timeout
class OldRelationsController < OldElementsController
def index
@type = "relation"
@feature = Relation.preload(:relation_tags, :old_relations => [:old_tags, { :changeset => [:changeset_tags, :user], :old_members => :member }]).find(params[:id])
@ -25,10 +13,4 @@ class OldRelationsController < ApplicationController
rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found
end
private
def require_moderator_for_unredacted_history
deny_access(nil) if params[:show_redactions] && !current_user&.moderator?
end
end

View file

@ -1,16 +1,4 @@
class OldWaysController < ApplicationController
layout :map_layout
before_action :authorize_web
before_action :set_locale
before_action -> { check_database_readable(:need_api => true) }
before_action :require_oauth
authorize_resource
before_action :require_moderator_for_unredacted_history
around_action :web_timeout
class OldWaysController < OldElementsController
def index
@type = "way"
@feature = Way.preload(:way_tags, :old_ways => [:old_tags, { :changeset => [:changeset_tags, :user], :old_nodes => { :node => [:node_tags, :ways] } }]).find(params[:id])
@ -25,10 +13,4 @@ class OldWaysController < ApplicationController
rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found
end
private
def require_moderator_for_unredacted_history
deny_access(nil) if params[:show_redactions] && !current_user&.moderator?
end
end