##// END OF EJS Templates
Fixed that project overview page shows trackers from subprojects with disabled issue module (#13076)....
Jean-Philippe Lang -
r11106:0f2ee79f35ac
parent child
Show More
@@ -416,6 +416,7 class Project < ActiveRecord::Base
416 @rolled_up_trackers ||=
416 @rolled_up_trackers ||=
417 Tracker.
417 Tracker.
418 joins(:projects).
418 joins(:projects).
419 joins("JOIN #{EnabledModule.table_name} ON #{EnabledModule.table_name}.project_id = #{Project.table_name}.id AND #{EnabledModule.table_name}.name = 'issue_tracking'", ).
419 select("DISTINCT #{Tracker.table_name}.*").
420 select("DISTINCT #{Tracker.table_name}.*").
420 where("#{Project.table_name}.lft >= ? AND #{Project.table_name}.rgt <= ? AND #{Project.table_name}.status <> #{STATUS_ARCHIVED}", lft, rgt).
421 where("#{Project.table_name}.lft >= ? AND #{Project.table_name}.rgt <= ? AND #{Project.table_name}.status <> #{STATUS_ARCHIVED}", lft, rgt).
421 sorted.
422 sorted.
@@ -434,6 +434,19 class ProjectTest < ActiveSupport::TestCase
434 assert_equal [1,2], parent.rolled_up_trackers.collect(&:id)
434 assert_equal [1,2], parent.rolled_up_trackers.collect(&:id)
435 end
435 end
436
436
437 test "#rolled_up_trackers should ignore projects with issue_tracking module disabled" do
438 parent = Project.generate!
439 parent.trackers = Tracker.find([1, 2])
440 child = Project.generate_with_parent!(parent)
441 child.trackers = Tracker.find([2, 3])
442
443 assert_equal [1, 2, 3], parent.rolled_up_trackers.collect(&:id).sort
444
445 assert child.disable_module!(:issue_tracking)
446 parent.reload
447 assert_equal [1, 2], parent.rolled_up_trackers.collect(&:id).sort
448 end
449
437 test "#rolled_up_versions should include the versions for the current project" do
450 test "#rolled_up_versions should include the versions for the current project" do
438 project = Project.generate!
451 project = Project.generate!
439 parent_version_1 = Version.generate!(:project => project)
452 parent_version_1 = Version.generate!(:project => project)
General Comments 0
You need to be logged in to leave comments. Login now