X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ebf597971f447344e08d85925118ed89418b8d19..adcf9edc54c636d0871566534db936688c468435:/app/controllers/changeset_controller.rb?ds=sidebyside diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 9fc2bc320..947732fb1 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,26 @@ class ChangesetController < ApplicationController else changesets = changesets.where("false") end + else + render_unknown_user params[:display_name] + return + end + end + + if params[:friends] + if @user + changesets = changesets.where(:user_id => @user.friend_users.public) + elsif request.format == :html + require_user + return + end + end + + if params[:nearby] + if @user + changesets = changesets.where(:user_id => @user.nearby) 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 + require_user return end end @@ -282,7 +299,15 @@ class ChangesetController < ApplicationController user_link = render_to_string :partial => "user", :object => user end - if user and bbox + 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 @description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link @@ -306,9 +331,9 @@ class ChangesetController < ApplicationController @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 ##