Add ElementsController base class

This commit is contained in:
Anton Khorev 2025-01-06 17:42:51 +03:00
parent 1ca2c2837e
commit e74273d496
4 changed files with 15 additions and 36 deletions

View file

@ -0,0 +1,12 @@
class ElementsController < 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
around_action :web_timeout
end

View file

@ -1,15 +1,4 @@
class NodesController < ApplicationController class NodesController < ElementsController
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
around_action :web_timeout
def show def show
@type = "node" @type = "node"
@feature = Node.preload(:node_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :ways => :way_tags).find(params[:id]) @feature = Node.preload(:node_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :ways => :way_tags).find(params[:id])

View file

@ -1,15 +1,4 @@
class RelationsController < ApplicationController class RelationsController < ElementsController
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
around_action :web_timeout
def show def show
@type = "relation" @type = "relation"
@feature = Relation.preload(:relation_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :relation_members => :member).find(params[:id]) @feature = Relation.preload(:relation_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :relation_members => :member).find(params[:id])

View file

@ -1,15 +1,4 @@
class WaysController < ApplicationController class WaysController < ElementsController
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
around_action :web_timeout
def show def show
@type = "way" @type = "way"
@feature = Way.preload(:way_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :nodes => [:node_tags, { :ways => :way_tags }]).find(params[:id]) @feature = Way.preload(:way_tags, :containing_relation_members, :changeset => [:changeset_tags, :user], :nodes => [:node_tags, { :ways => :way_tags }]).find(params[:id])