diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 6f75b56527..477d9b2407 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -28,33 +28,35 @@ class ReportsController < ApplicationController @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) + @issues_by_tracker = Issue.count_and_group_by(report_options(:tracker)) + + @issues_by_version = Issue.count_and_group_by(report_options(:fixed_version)) + @issues_by_priority = Issue.count_and_group_by(report_options(:priority)) + @issues_by_category = Issue.count_and_group_by(report_options(:category)) + @issues_by_assigned_to = Issue.count_and_group_by(report_options(:assigned_to)) + @issues_by_author = Issue.count_and_group_by(report_options(:author)) @issues_by_subproject = Issue.by_subproject(@project) || [] render :template => "reports/issue_report" end def issue_report_details + @subprojects = Setting.display_subprojects_issues? ? @project.descendants.visible : nil case params[:detail] when "tracker" @field = "tracker_id" @rows = @project.rolled_up_trackers(false).visible - @data = Issue.by_tracker(@project) + @data = Issue.count_and_group_by(report_options(:tracker)) @report_title = l(:field_tracker) when "version" @field = "fixed_version_id" @rows = @project.shared_versions.sort - @data = Issue.by_version(@project) + @data = Issue.count_and_group_by(report_options(:fixed_version)) @report_title = l(:field_version) when "priority" @field = "priority_id" @rows = IssuePriority.all.reverse - @data = Issue.by_priority(@project) + @data = Issue.count_and_group_by(report_options(:priority)) @report_title = l(:field_priority) when "category" @field = "category_id" @@ -64,12 +66,12 @@ class ReportsController < ApplicationController 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.count_and_group_by(report_options(:assigned_to)) @report_title = l(:field_assigned_to) when "author" @field = "author_id" @rows = @project.users.sort - @data = Issue.by_author(@project) + @data = Issue.count_and_group_by(report_options(:author)) @report_title = l(:field_author) when "subproject" @field = "project_id" @@ -86,4 +88,9 @@ class ReportsController < ApplicationController def find_issue_statuses @statuses = @project.rolled_up_statuses.sorted.to_a end + + def report_options(association) + with_subprojects = Setting.display_subprojects_issues? ? @subprojects : nil + {:project => @project, :association => association, :with_subprojects => with_subprojects} + end end 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 %>