diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 6f75b56527..cfef2f2001 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -27,49 +27,50 @@ class ReportsController < ApplicationController @assignees = (Setting.issue_group_assignment? ? @project.principals : @project.users).sort @authors = @project.users.sort @subprojects = @project.descendants.visible - - @issues_by_tracker = Issue.by_tracker(@project) - @issues_by_version = Issue.by_version(@project) - @issues_by_priority = Issue.by_priority(@project) - @issues_by_category = Issue.by_category(@project) - @issues_by_assigned_to = Issue.by_assigned_to(@project) - @issues_by_author = Issue.by_author(@project) + with_subprojects = Setting.display_subprojects_issues? + @issues_by_tracker = Issue.by_tracker(@project, with_subprojects) + @issues_by_version = Issue.by_version(@project, with_subprojects) + @issues_by_priority = Issue.by_priority(@project, with_subprojects) + @issues_by_category = Issue.by_category(@project, with_subprojects) + @issues_by_assigned_to = Issue.by_assigned_to(@project, with_subprojects) + @issues_by_author = Issue.by_author(@project, with_subprojects) @issues_by_subproject = Issue.by_subproject(@project) || [] render :template => "reports/issue_report" end def issue_report_details + with_subprojects = Setting.display_subprojects_issues? case params[:detail] when "tracker" @field = "tracker_id" @rows = @project.rolled_up_trackers(false).visible - @data = Issue.by_tracker(@project) + @data = Issue.by_tracker(@project, with_subprojects) @report_title = l(:field_tracker) when "version" @field = "fixed_version_id" @rows = @project.shared_versions.sort - @data = Issue.by_version(@project) + @data = Issue.by_version(@project, with_subprojects) @report_title = l(:field_version) when "priority" @field = "priority_id" @rows = IssuePriority.all.reverse - @data = Issue.by_priority(@project) + @data = Issue.by_priority(@project, with_subprojects) @report_title = l(:field_priority) when "category" @field = "category_id" @rows = @project.issue_categories - @data = Issue.by_category(@project) + @data = Issue.by_category(@project, with_subprojects) @report_title = l(:field_category) when "assigned_to" @field = "assigned_to_id" @rows = (Setting.issue_group_assignment? ? @project.principals : @project.users).sort - @data = Issue.by_assigned_to(@project) + @data = Issue.by_assigned_to(@project, with_subprojects) @report_title = l(:field_assigned_to) when "author" @field = "author_id" @rows = @project.users.sort - @data = Issue.by_author(@project) + @data = Issue.by_author(@project, with_subprojects) @report_title = l(:field_author) when "subproject" @field = "project_id" diff --git a/app/models/issue.rb b/app/models/issue.rb index b9d8355ecc..aa2c08b332 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1464,28 +1464,28 @@ class Issue < ActiveRecord::Base end end - def self.by_tracker(project) - count_and_group_by(:project => project, :association => :tracker) + def self.by_tracker(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :tracker, :with_subprojects => with_subprojects) end - def self.by_version(project) - count_and_group_by(:project => project, :association => :fixed_version) + def self.by_version(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :fixed_version, :with_subprojects => with_subprojects) end - def self.by_priority(project) - count_and_group_by(:project => project, :association => :priority) + def self.by_priority(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :priority, :with_subprojects => with_subprojects) end - def self.by_category(project) - count_and_group_by(:project => project, :association => :category) + def self.by_category(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :category, :with_subprojects => with_subprojects) end - def self.by_assigned_to(project) - count_and_group_by(:project => project, :association => :assigned_to) + def self.by_assigned_to(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :assigned_to, :with_subprojects => with_subprojects) end - def self.by_author(project) - count_and_group_by(:project => project, :association => :author) + def self.by_author(project, with_subprojects=false) + count_and_group_by(:project => project, :association => :author, :with_subprojects => with_subprojects) end def self.by_subproject(project) diff --git a/app/views/reports/_details.html.erb b/app/views/reports/_details.html.erb index 998089cafc..d9d9a3614b 100644 --- a/app/views/reports/_details.html.erb +++ b/app/views/reports/_details.html.erb @@ -14,13 +14,13 @@
<% for row in rows %>