summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/activities_controller.rb7
-rw-r--r--test/functional/activities_controller_test.rb16
2 files changed, 22 insertions, 1 deletions
diff --git a/app/controllers/activities_controller.rb b/app/controllers/activities_controller.rb
index d80924543..3120d63a5 100644
--- a/app/controllers/activities_controller.rb
+++ b/app/controllers/activities_controller.rb
@@ -55,7 +55,12 @@ class ActivitiesController < ApplicationController
end
end
- events = @activity.events(@date_from, @date_to)
+ events =
+ if params[:format] == 'atom'
+ @activity.events(nil, nil, :limit => Setting.feeds_limit.to_i)
+ else
+ @activity.events(@date_from, @date_to)
+ end
if events.empty? || stale?(:etag => [@activity.scope, @date_to, @date_from, @with_subprojects, @author, events.first, events.size, User.current, current_language])
respond_to do |format|
diff --git a/test/functional/activities_controller_test.rb b/test/functional/activities_controller_test.rb
index 8d6cc3aca..dbff6a82c 100644
--- a/test/functional/activities_controller_test.rb
+++ b/test/functional/activities_controller_test.rb
@@ -111,6 +111,22 @@ class ActivitiesControllerTest < Redmine::ControllerTest
end
end
+ def test_index_atom_feed_should_respect_feeds_limit_setting
+ with_settings :feeds_limit => '20' do
+ get(
+ :index,
+ :params => {
+ :format => 'atom'
+ }
+ )
+ end
+ assert_response :success
+
+ assert_select 'feed' do
+ assert_select 'entry', :count => 20
+ end
+ end
+
def test_index_atom_feed_with_explicit_selection
get :index, :params => {
:format => 'atom',