From: Go MAEDA Date: Tue, 16 Mar 2021 02:47:09 +0000 (+0000) Subject: Only show currently visible projects in the project jump box (#34595). X-Git-Tag: 4.2.0~45 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=124c94df94c73250db65090c67af3e780006437b;p=redmine.git Only show currently visible projects in the project jump box (#34595). Patch by Holger Just and Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@20803 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- 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