diff options
-rw-r--r-- | app/controllers/reports_controller.rb | 25 | ||||
-rw-r--r-- | app/views/reports/issue_report.rhtml | 11 |
2 files changed, 31 insertions, 5 deletions
diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index e18e117a6..e33fe8412 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -47,6 +47,12 @@ class ReportsController < ApplicationController @data = issues_by_category @report_title = l(:field_category) render :template => "reports/issue_report_details" + when "assigned_to" + @field = "assigned_to_id" + @rows = @project.members.collect { |m| m.user } + @data = issues_by_assigned_to + @report_title = l(:field_assigned_to) + render :template => "reports/issue_report_details" when "author" @field = "author_id" @rows = @project.members.collect { |m| m.user } @@ -64,12 +70,14 @@ class ReportsController < ApplicationController @versions = @project.versions.sort @priorities = Enumeration::get_values('IPRI') @categories = @project.issue_categories + @assignees = @project.members.collect { |m| m.user } @authors = @project.members.collect { |m| m.user } @subprojects = @project.active_children issues_by_tracker issues_by_version issues_by_priority issues_by_category + issues_by_assigned_to issues_by_author issues_by_subproject @@ -180,7 +188,22 @@ private and i.project_id=#{@project.id} group by s.id, s.is_closed, c.id") end - + + def issues_by_assigned_to + @issues_by_assigned_to ||= + ActiveRecord::Base.connection.select_all("select s.id as status_id, + s.is_closed as closed, + a.id as assigned_to_id, + count(i.id) as total + from + #{Issue.table_name} i, #{IssueStatus.table_name} s, #{User.table_name} a + where + i.status_id=s.id + and i.assigned_to_id=a.id + and i.project_id=#{@project.id} + group by s.id, s.is_closed, a.id") + end + def issues_by_author @issues_by_author ||= ActiveRecord::Base.connection.select_all("select s.id as status_id, diff --git a/app/views/reports/issue_report.rhtml b/app/views/reports/issue_report.rhtml index 0eaba58dc..1ed16ea3b 100644 --- a/app/views/reports/issue_report.rhtml +++ b/app/views/reports/issue_report.rhtml @@ -4,8 +4,11 @@ <h3><%=l(:field_tracker)%> <%= link_to image_tag('zoom_in.png'), :detail => 'tracker' %></h3> <%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %> <br /> -<h3><%=l(:field_version)%> <%= link_to image_tag('zoom_in.png'), :detail => 'version' %></h3> -<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %> +<h3><%=l(:field_priority)%> <%= link_to image_tag('zoom_in.png'), :detail => 'priority' %></h3> +<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %> +<br /> +<h3><%=l(:field_assigned_to)%> <%= link_to image_tag('zoom_in.png'), :detail => 'assigned_to' %></h3> +<%= render :partial => 'simple', :locals => { :data => @issues_by_assigned_to, :field_name => "assigned_to_id", :rows => @assignees } %> <br /> <h3><%=l(:field_author)%> <%= link_to image_tag('zoom_in.png'), :detail => 'author' %></h3> <%= render :partial => 'simple', :locals => { :data => @issues_by_author, :field_name => "author_id", :rows => @authors } %> @@ -13,8 +16,8 @@ </div> <div class="splitcontentright"> -<h3><%=l(:field_priority)%> <%= link_to image_tag('zoom_in.png'), :detail => 'priority' %></h3> -<%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %> +<h3><%=l(:field_version)%> <%= link_to image_tag('zoom_in.png'), :detail => 'version' %></h3> +<%= render :partial => 'simple', :locals => { :data => @issues_by_version, :field_name => "fixed_version_id", :rows => @versions } %> <br /> <% if @project.children.any? %> <h3><%=l(:field_subproject)%> <%= link_to image_tag('zoom_in.png'), :detail => 'subproject' %></h3> |