X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/d23763d6cdbf5ec11f0e83f8e6e8fb32ed973e6a..c1b5ae0aa08be555588de8098b5ea8319f4c7925:/app/controllers/changesets_controller.rb diff --git a/app/controllers/changesets_controller.rb b/app/controllers/changesets_controller.rb index 5eb14629a..613a3ee2a 100644 --- a/app/controllers/changesets_controller.rb +++ b/app/controllers/changesets_controller.rb @@ -8,7 +8,8 @@ class ChangesetsController < ApplicationController before_action :authorize_web before_action :set_locale - before_action -> { check_database_readable(:need_api => true) }, :only => [:index, :feed] + before_action -> { check_database_readable(:need_api => true) }, :only => [:index, :feed, :show] + before_action :require_oauth, :only => :show before_action :check_database_writable, :only => [:subscribe, :unsubscribe] authorize_resource @@ -75,6 +76,26 @@ class ChangesetsController < ApplicationController index end + def show + @type = "changeset" + @changeset = Changeset.find(params[:id]) + @comments = if current_user&.moderator? + @changeset.comments.unscope(:where => :visible).includes(:author) + else + @changeset.comments.includes(:author) + end + @node_pages, @nodes = paginate(:old_nodes, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "node_page") + @way_pages, @ways = paginate(:old_ways, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "way_page") + @relation_pages, @relations = paginate(:old_relations, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "relation_page") + if @changeset.user.active? && @changeset.user.data_public? + @next_by_user = @changeset.user.changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first + @prev_by_user = @changeset.user.changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first + end + render :layout => map_layout + rescue ActiveRecord::RecordNotFound + render :template => "browse/not_found", :status => :not_found, :layout => map_layout + end + ## # subscribe to a changeset def subscribe