From: Tom Hughes Date: Sat, 19 Nov 2011 12:29:43 +0000 (+0000) Subject: Generate correct URLs for changeset feeds X-Git-Tag: live~5996 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/be8164cf1573a79487b94f1a7667de2ffdac2d17 Generate correct URLs for changeset feeds --- diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 07a123bf8..5c4201354 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -246,8 +246,6 @@ class ChangesetController < ApplicationController end end - - ## # list edits (open changesets) in reverse chronological order def list @@ -269,6 +267,7 @@ class ChangesetController < ApplicationController @title = t 'user.no_such_user.title' @not_found_user = params[:display_name] render :template => 'user/no_such_user', :status => :not_found + return end end @@ -312,6 +311,14 @@ class ChangesetController < ApplicationController @edits = changesets.order("changesets.created_at DESC").offset((@page - 1) * @page_size).limit(@page_size).preload(:user, :changeset_tags) end + + render :action => :list + end + + ## + # list edits as an atom feed + def feed + list end private diff --git a/app/views/changeset/list.atom.builder b/app/views/changeset/list.atom.builder index 9512ef827..591f269b6 100644 --- a/app/views/changeset/list.atom.builder +++ b/app/views/changeset/list.atom.builder @@ -1,6 +1,6 @@ atom_feed(:language => I18n.locale, :schema_date => 2009, :id => url_for(params.merge({ :only_path => false })), - :root_url => url_for(params.merge({ :only_path => false, :format => nil })), + :root_url => url_for(params.merge({ :action => :list, :format => nil, :only_path => false })), "xmlns:georss" => "http://www.georss.org/georss") do |feed| feed.title @title diff --git a/app/views/changeset/list.html.erb b/app/views/changeset/list.html.erb index c7cf63353..5d12aa837 100644 --- a/app/views/changeset/list.html.erb +++ b/app/views/changeset/list.html.erb @@ -10,8 +10,8 @@ <%= render :partial => 'changeset_paging_nav' %> -<%= atom_link_to params.merge({ :page => nil, :format => :atom }) %> +<%= atom_link_to params.merge({ :page => nil, :action => :feed }) %> <% content_for :head do %> -<%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :format => :atom }) %> +<%= auto_discovery_link_tag :atom, params.merge({ :page => nil, :action => :feed }) %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 1916ae74a..cd7261cdf 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -85,9 +85,9 @@ OpenStreetMap::Application.routes.draw do match '/browse/relation/:id/history' => 'browse#relation_history', :id => /\d+/ match '/browse/changeset/:id' => 'browse#changeset', :as => :changeset, :id => /\d+/ match '/user/:display_name/edits' => 'changeset#list' - match '/user/:display_name/edits/feed' => 'changeset#list', :format => :atom + match '/user/:display_name/edits/feed' => 'changeset#feed', :format => :atom match '/browse/changesets' => 'changeset#list' - match '/browse/changesets/feed' => 'changeset#list', :format => :atom + match '/browse/changesets/feed' => 'changeset#feed', :format => :atom match '/browse' => 'changeset#list' # web site @@ -96,7 +96,7 @@ OpenStreetMap::Application.routes.draw do match '/copyright' => 'site#copyright' match '/copyright/:copyright_locale' => 'site#copyright' match '/history' => 'changeset#list' - match '/history/feed' => 'changeset#list', :format => :atom + match '/history/feed' => 'changeset#feed', :format => :atom match '/export' => 'site#export' match '/login' => 'user#login' match '/logout' => 'user#logout'