Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/pull/5126'
Browse files Browse the repository at this point in the history
  • Loading branch information
tomhughes committed Aug 28, 2024
2 parents 5f2a5ca + 10a4c5c commit 549a46c
Show file tree
Hide file tree
Showing 10 changed files with 32 additions and 30 deletions.
2 changes: 1 addition & 1 deletion app/abilities/ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def initialize(user)

if Settings.status != "database_offline"
can [:index, :feed, :show], Changeset
can :index, ChangesetComment
can :show, ChangesetComment
can [:confirm, :confirm_resend, :confirm_email], :confirmation
can [:index, :rss, :show], DiaryEntry
can :index, DiaryComment
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
module Feeds
class ChangesetCommentsController < ApplicationController
module ChangesetComments
class FeedsController < ApplicationController
before_action :authorize_web
before_action :set_locale

authorize_resource
authorize_resource :changeset_comment

before_action -> { check_database_readable(:need_api => true) }
around_action :web_timeout

##
# Get a feed of recent changeset comments
def index
def show
if params[:changeset_id]
# Extract the arguments
changeset_id = params[:changeset_id].to_i
Expand Down
24 changes: 12 additions & 12 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -246,18 +246,6 @@ en:
entry:
comment: Comment
full: Full note
feeds:
changeset_comments:
comment:
comment: "New comment on changeset #%{changeset_id} by %{author}"
commented_at_by_html: "Updated %{when} by %{user}"
comments:
comment: "New comment on changeset #%{changeset_id} by %{author}"
index:
title_all: OpenStreetMap changeset discussion
title_particular: "OpenStreetMap changeset #%{changeset_id} discussion"
timeout:
sorry: "Sorry, the list of changeset comments you requested took too long to retrieve."
account:
deletions:
show:
Expand Down Expand Up @@ -426,6 +414,18 @@ en:
old_relations:
not_found:
sorry: "Sorry, relation #%{id} version %{version} could not be found."
changeset_comments:
feeds:
comment:
comment: "New comment on changeset #%{changeset_id} by %{author}"
commented_at_by_html: "Updated %{when} by %{user}"
comments:
comment: "New comment on changeset #%{changeset_id} by %{author}"
show:
title_all: OpenStreetMap changeset discussion
title_particular: "OpenStreetMap changeset #%{changeset_id} discussion"
timeout:
sorry: "Sorry, the list of changeset comments you requested took too long to retrieve."
changesets:
changeset_paging_nav:
showing_page: "Page %{page}"
Expand Down
10 changes: 6 additions & 4 deletions config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@
resources :changesets, :path => "changeset", :id => /\d+/, :only => :show do
match :subscribe, :unsubscribe, :on => :member, :via => [:get, :post]

namespace :feeds, :path => "" do
resources :changeset_comments, :path => "comments/feed", :only => :index, :defaults => { :format => "rss" }
namespace :changeset_comments, :as => :comments, :path => :comments do
resource :feed, :only => :show, :defaults => { :format => "rss" }
end
end
resources :notes, :path => "note", :id => /\d+/, :only => [:show, :new]
Expand Down Expand Up @@ -167,8 +167,10 @@
get "/communities" => "site#communities"
get "/history" => "changesets#index"
get "/history/feed" => "changesets#feed", :defaults => { :format => :atom }
namespace :feeds, :path => "" do
resources :changeset_comments, :path => "/history/comments/feed", :only => :index, :defaults => { :format => "rss" }
scope "/history" do
namespace :changeset_comments, :path => :comments, :as => :changesets_comments do
resource :feed, :only => :show, :defaults => { :format => "rss" }
end
end
get "/export" => "site#export"
get "/login" => "sessions#new"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
require "test_helper"

module Feeds
class ChangesetCommentsControllerTest < ActionDispatch::IntegrationTest
module ChangesetComments
class FeedsControllerTest < ActionDispatch::IntegrationTest
##
# test all routes which lead to this controller
def test_routes
assert_routing(
{ :path => "/changeset/1/comments/feed", :method => :get },
{ :controller => "feeds/changeset_comments", :action => "index", :changeset_id => "1", :format => "rss" }
{ :controller => "changeset_comments/feeds", :action => "show", :changeset_id => "1", :format => "rss" }
)
assert_routing(
{ :path => "/history/comments/feed", :method => :get },
{ :controller => "feeds/changeset_comments", :action => "index", :format => "rss" }
{ :controller => "changeset_comments/feeds", :action => "show", :format => "rss" }
)
end

Expand All @@ -21,7 +21,7 @@ def test_feed
changeset = create(:changeset, :closed)
create_list(:changeset_comment, 3, :changeset => changeset)

get feeds_changeset_comments_path(:format => "rss")
get changesets_comments_feed_path(:format => "rss")
assert_response :success
assert_equal "application/rss+xml", @response.media_type
assert_select "rss", :count => 1 do
Expand All @@ -30,7 +30,7 @@ def test_feed
end
end

get feeds_changeset_comments_path(:format => "rss", :limit => 2)
get changesets_comments_feed_path(:format => "rss", :limit => 2)
assert_response :success
assert_equal "application/rss+xml", @response.media_type
assert_select "rss", :count => 1 do
Expand All @@ -39,7 +39,7 @@ def test_feed
end
end

get changeset_feeds_changeset_comments_path(changeset, :format => "rss")
get changeset_comments_feed_path(changeset, :format => "rss")
assert_response :success
assert_equal "application/rss+xml", @response.media_type
last_comment_id = -1
Expand All @@ -62,10 +62,10 @@ def test_feed
##
# test comments feed
def test_feed_bad_limit
get feeds_changeset_comments_path(:format => "rss", :limit => 0)
get changesets_comments_feed_path(:format => "rss", :limit => 0)
assert_response :bad_request

get feeds_changeset_comments_path(:format => "rss", :limit => 100001)
get changesets_comments_feed_path(:format => "rss", :limit => 100001)
assert_response :bad_request
end
end
Expand Down

0 comments on commit 549a46c

Please sign in to comment.