From cb80bd3b966e1f780b7a1db1cf2d32716643caea Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Sat, 4 Jan 2025 17:00:43 +0300 Subject: [PATCH] Add OldElementsController base class --- app/controllers/old_elements_controller.rb | 19 +++++++++++++++++++ app/controllers/old_nodes_controller.rb | 20 +------------------- app/controllers/old_relations_controller.rb | 20 +------------------- app/controllers/old_ways_controller.rb | 20 +------------------- 4 files changed, 22 insertions(+), 57 deletions(-) create mode 100644 app/controllers/old_elements_controller.rb diff --git a/app/controllers/old_elements_controller.rb b/app/controllers/old_elements_controller.rb new file mode 100644 index 000000000..02c999b36 --- /dev/null +++ b/app/controllers/old_elements_controller.rb @@ -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 diff --git a/app/controllers/old_nodes_controller.rb b/app/controllers/old_nodes_controller.rb index 596b57967..86ef4c235 100644 --- a/app/controllers/old_nodes_controller.rb +++ b/app/controllers/old_nodes_controller.rb @@ -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 diff --git a/app/controllers/old_relations_controller.rb b/app/controllers/old_relations_controller.rb index d57cf25fe..ea4fb6d12 100644 --- a/app/controllers/old_relations_controller.rb +++ b/app/controllers/old_relations_controller.rb @@ -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 diff --git a/app/controllers/old_ways_controller.rb b/app/controllers/old_ways_controller.rb index de60de317..fe8814b2f 100644 --- a/app/controllers/old_ways_controller.rb +++ b/app/controllers/old_ways_controller.rb @@ -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 -- 2.39.5