From f3ff36418b60a56f18525900720e6ff9d21f516d Mon Sep 17 00:00:00 2001 From: Matt Amos Date: Tue, 15 Mar 2011 02:00:50 +0000 Subject: [PATCH] Fixed bug in changeset queries The 'or' condition needed to be bracketed within larger 'and' expression. --- app/controllers/changeset_controller.rb | 2 +- test/functional/changeset_controller_test.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/controllers/changeset_controller.rb b/app/controllers/changeset_controller.rb index 29b9c787b..5a4dc36fb 100644 --- a/app/controllers/changeset_controller.rb +++ b/app/controllers/changeset_controller.rb @@ -436,7 +436,7 @@ private # query changesets which are closed # ('closed at' time has passed or changes limit is hit) def conditions_closed(closed) - return closed.nil? ? nil : ['closed_at < ? or num_changes > ?', + return closed.nil? ? nil : ['(closed_at < ? or num_changes > ?)', Time.now.getutc, Changeset::MAX_ELEMENTS] end diff --git a/test/functional/changeset_controller_test.rb b/test/functional/changeset_controller_test.rb index 3d963b471..01600c2d9 100644 --- a/test/functional/changeset_controller_test.rb +++ b/test/functional/changeset_controller_test.rb @@ -1462,6 +1462,14 @@ EOF get :query, :closed => 'true' assert_response :success, "can't get changesets by closed-ness" assert_changesets [3,5,6,7] + + get :query, :closed => 'true', :user => users(:normal_user).id + assert_response :success, "can't get changesets by closed-ness and user" + assert_changesets [3,6] + + get :query, :closed => 'true', :user => users(:public_user).id + assert_response :success, "can't get changesets by closed-ness and user" + assert_changesets [7] end ## -- 2.43.2