@principals_by_role = @project.principals_by_role
@subprojects = @project.children.visible.to_a
@news = @project.news.limit(5).includes(:author, :project).reorder("#{News.table_name}.created_on DESC").to_a
- @trackers = @project.rolled_up_trackers.visible
+ with_subprojects = Setting.display_subprojects_issues?
+ @trackers = @project.rolled_up_trackers(with_subprojects).visible
- cond = @project.project_condition(Setting.display_subprojects_issues?)
+ cond = @project.project_condition(with_subprojects)
@open_issues_by_tracker = Issue.visible.open.where(cond).group(:tracker).count
@total_issues_by_tracker = Issue.visible.where(cond).group(:tracker).count
assert_select 'table.issue-report td.total a', :text => %r{\A[1-9]\d*\z}
end
+ def test_show_should_not_display_subprojects_trackers_when_subprojects_issues_is_not_displayed
+ project = Project.find('ecookbook')
+ tracker = project.trackers.find_by(name: 'Support request')
+ project.trackers.delete(tracker)
+ @request.session[:user_id] = 2
+
+ with_settings :display_subprojects_issues => '1' do
+ get(:show, :params => {:id => 'ecookbook'})
+ assert_response :success
+ assert_select 'table.issue-report td.name', :text => 'Support request', :count => 1
+ end
+
+ with_settings :display_subprojects_issues => '0' do
+ get(:show, :params => {:id => 'ecookbook'})
+ assert_response :success
+ assert_select 'table.issue-report td.name', :text => 'Support request', :count => 0
+ end
+ end
+
def test_show_should_spent_and_estimated_time
@request.session[:user_id] = 1
get(:show, :params => {:id => 'ecookbook'})