X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/9545ca4ff35ef55764d6fa5c448d2d13309f3216..324c37a39ba7a59eee633f0b19203670d491b520:/app/controllers/changeset_controller.rb?ds=sidebyside diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 7dd7006fe..9a4271621 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -143,10 +143,11 @@ class ChangesetController < ApplicationController def download changeset = Changeset.find(params[:id]) - # get all the elements in the changeset and stick them in a big array. - elements = [changeset.old_nodes, - changeset.old_ways, - changeset.old_relations].flatten + # get all the elements in the changeset which haven't been redacted + # and stick them in a big array. + elements = [changeset.old_nodes.unredacted, + changeset.old_ways.unredacted, + changeset.old_relations.unredacted].flatten # sort the elements by timestamp and version number, as this is the # almost sensible ordering available. this would be much nicer if @@ -259,10 +260,8 @@ class ChangesetController < ApplicationController else changesets = changesets.where("false") end - elsif request.format == :html - @title = t 'user.no_such_user.title' - @not_found_user = params[:display_name] - render :template => 'user/no_such_user', :status => :not_found + else + render_unknown_user params[:display_name] return end end @@ -276,6 +275,15 @@ class ChangesetController < ApplicationController end end + if params[:nearby] + if @user + changesets = changesets.where(:user_id => @user.nearby) + elsif request.format == :html + require_user + return + end + end + if params[:bbox] bbox = BoundingBox.from_bbox_params(params) elsif params[:minlon] and params[:minlat] and params[:maxlon] and params[:maxlat] @@ -291,10 +299,14 @@ class ChangesetController < ApplicationController user_link = render_to_string :partial => "user", :object => user end - if params[:friends] and user + if params[:friends] and @user @title = t 'changeset.list.title_friend' @heading = t 'changeset.list.heading_friend' @description = t 'changeset.list.description_friend' + elsif params[:nearby] and @user + @title = t 'changeset.list.title_nearby' + @heading = t 'changeset.list.heading_nearby' + @description = t 'changeset.list.description_nearby' elsif user and bbox @title = t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s @heading = t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s @@ -316,12 +328,10 @@ class ChangesetController < ApplicationController @page = (params[:page] || 1).to_i @page_size = 20 - @bbox = bbox - @edits = changesets.order("changesets.created_at DESC").offset((@page - 1) * @page_size).limit(@page_size).preload(:user, :changeset_tags) - end - render :action => :list + render :action => :list + end end ##