]> source.dussan.org Git - redmine.git/commitdiff
Fixed 500 error when displaying a news with comments in reverse order (#18332).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 14 Nov 2014 20:53:14 +0000 (20:53 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 14 Nov 2014 20:53:14 +0000 (20:53 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@13595 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/news_controller.rb
test/functional/news_controller_test.rb

index 50c0489f4d5471cdca935959472b9556c06ab891..e1ef1c3ec14a1f99c7a44e18d4a9889405e72da5 100644 (file)
@@ -58,7 +58,7 @@ class NewsController < ApplicationController
   end
 
   def show
-    @comments = @news.comments
+    @comments = @news.comments.to_a
     @comments.reverse! if User.current.wants_comments_in_reverse_order?
   end
 
index 8a758628591953678109a6a5408252191ec1f36a..7d342605fab95029d4a35e90aec6cdcfc5d7f4b4 100644 (file)
@@ -63,6 +63,17 @@ class NewsControllerTest < ActionController::TestCase
     assert_tag 'a', :content => attachment.filename
   end
 
+  def test_show_with_comments_in_reverse_order
+    user = User.find(1)
+    user.pref[:comments_sorting] = 'desc'
+    user.pref.save!
+
+    @request.session[:user_id] = 1
+    get :show, :id => 1
+    assert_response :success
+    assert_equal News.find(1).comments.to_a.sort_by(&:created_on).reverse, assigns(:comments)
+  end
+
   def test_show_not_found
     get :show, :id => 999
     assert_response 404