summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/redmine/project_jump_box.rb1
-rw-r--r--test/unit/lib/redmine/project_jump_box_test.rb15
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/redmine/project_jump_box.rb b/lib/redmine/project_jump_box.rb
index b8f332008..067cb2944 100644
--- a/lib/redmine/project_jump_box.rb
+++ b/lib/redmine/project_jump_box.rb
@@ -31,6 +31,7 @@ module Redmine
def recently_used_projects
project_ids = recently_used_project_ids
Project.where(id: project_ids).
+ visible.
index_by(&:id).
values_at(*project_ids). # sort according to stored order
compact
diff --git a/test/unit/lib/redmine/project_jump_box_test.rb b/test/unit/lib/redmine/project_jump_box_test.rb
index 5842354c5..e232a1e93 100644
--- a/test/unit/lib/redmine/project_jump_box_test.rb
+++ b/test/unit/lib/redmine/project_jump_box_test.rb
@@ -23,7 +23,8 @@ class Redmine::ProjectJumpBoxTest < ActiveSupport::TestCase
fixtures :users, :projects, :user_preferences
def setup
- @user = User.find_by_login 'dlopper'
+ @user = User.find_by_login 'jsmith'
+ User.current = @user
@ecookbook = Project.find 'ecookbook'
@onlinestore = Project.find 'onlinestore'
end
@@ -134,4 +135,16 @@ class Redmine::ProjectJumpBoxTest < ActiveSupport::TestCase
assert_equal @onlinestore, pjb.recently_used_projects.first
assert_equal @ecookbook, pjb.recently_used_projects.last
end
+
+ def test_recents_list_should_include_only_visible_projects
+ @user = User.find_by_login 'dlopper'
+ User.current = @user
+
+ pjb = Redmine::ProjectJumpBox.new @user
+ pjb.project_used @ecookbook
+ pjb.project_used @onlinestore
+
+ assert_equal 1, pjb.recently_used_projects.size
+ assert_equal @ecookbook, pjb.recently_used_projects.first
+ end
end