diff --git a/lib/redmine.rb b/lib/redmine.rb index ee9aece1a..465e7dded 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -367,10 +367,10 @@ Redmine::MenuManager.map :project_menu do |menu| :param => :project_id, :if => Proc.new do |p| - if Setting.display_subprojects_issues? - p.rolled_up_versions.any? + if p.shared_versions.any? + true else - p.shared_versions.any? + Setting.display_subprojects_issues? && p.rolled_up_versions.any? end end ) diff --git a/test/integration/lib/redmine/menu_manager_test.rb b/test/integration/lib/redmine/menu_manager_test.rb index 5b27bdbf1..9bac57ad4 100644 --- a/test/integration/lib/redmine/menu_manager_test.rb +++ b/test/integration/lib/redmine/menu_manager_test.rb @@ -147,4 +147,21 @@ class MenuManagerTest < Redmine::IntegrationTest assert_select '#main-menu a.roadmap', 0 end end + + def test_project_menu_should_show_roadmap_if_project_has_shared_version + Version.delete_all + project = Project.generate!(:parent_id => 2) + + Version.generate!(project_id: 2, sharing: 'tree') + + with_settings :display_subprojects_issues => '1' do + get "/projects/#{project.id}" + assert_select '#main-menu a.roadmap' + end + + with_settings :display_subprojects_issues => '0' do + get "/projects/#{project.id}" + assert_select '#main-menu a.roadmap' + end + end end