##// END OF EJS Templates
By default, only show statuses that are used by the tracker on the workflow edit view....
By default, only show statuses that are used by the tracker on the workflow edit view. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3188 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r3073:6a369f28ddab
r3074:6bf0723d0654
Show More
reports_controller.rb
200 lines | 9.5 KiB | text/x-ruby | RubyLexer
/ app / controllers / reports_controller.rb
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # redMine - project management software
# Copyright (C) 2006 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class ReportsController < ApplicationController
Jean-Philippe Lang
Highlight the current item of the main menu....
r1062 menu_item :issues
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 before_filter :find_project, :authorize
def issue_report
@statuses = IssueStatus.find(:all, :order => 'position')
case params[:detail]
when "tracker"
@field = "tracker_id"
Jean-Philippe Lang
Added per-project tracker selection. Trackers can be selected on project settings....
r907 @rows = @project.trackers
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @data = issues_by_tracker
@report_title = l(:field_tracker)
render :template => "reports/issue_report_details"
Jean-Philippe Lang
Added issue count details for versions on Reports view....
r540 when "version"
@field = "fixed_version_id"
Jean-Philippe Lang
Display shared versions on the issue summary view (#4425)....
r3073 @rows = @project.shared_versions.sort
Jean-Philippe Lang
Added issue count details for versions on Reports view....
r540 @data = issues_by_version
@report_title = l(:field_version)
render :template => "reports/issue_report_details"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 when "priority"
@field = "priority_id"
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 @rows = IssuePriority.all
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @data = issues_by_priority
@report_title = l(:field_priority)
render :template => "reports/issue_report_details"
when "category"
@field = "category_id"
@rows = @project.issue_categories
@data = issues_by_category
@report_title = l(:field_category)
render :template => "reports/issue_report_details"
Jean-Philippe Lang
Added details by assignees on issue summary view (Hans Yoon)....
r1038 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"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 when "author"
@field = "author_id"
@rows = @project.members.collect { |m| m.user }
@data = issues_by_author
@report_title = l(:field_author)
render :template => "reports/issue_report_details"
Jean-Philippe Lang
Added subprojects issue count on project "Reports" page...
r407 when "subproject"
@field = "project_id"
Jean-Philippe Lang
Merged nested projects branch. Removes limit on subproject nesting (#594)....
r2302 @rows = @project.descendants.active
Jean-Philippe Lang
Added subprojects issue count on project "Reports" page...
r407 @data = issues_by_subproject
@report_title = l(:field_subproject)
render :template => "reports/issue_report_details"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 else
Jean-Philippe Lang
Added per-project tracker selection. Trackers can be selected on project settings....
r907 @trackers = @project.trackers
Jean-Philippe Lang
Display shared versions on the issue summary view (#4425)....
r3073 @versions = @project.shared_versions.sort
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 @priorities = IssuePriority.all
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @categories = @project.issue_categories
Jean-Philippe Lang
Added details by assignees on issue summary view (Hans Yoon)....
r1038 @assignees = @project.members.collect { |m| m.user }
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 @authors = @project.members.collect { |m| m.user }
Jean-Philippe Lang
Merged nested projects branch. Removes limit on subproject nesting (#594)....
r2302 @subprojects = @project.descendants.active
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 issues_by_tracker
Jean-Philippe Lang
Added issue count details for versions on Reports view....
r540 issues_by_version
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 issues_by_priority
issues_by_category
Jean-Philippe Lang
Added details by assignees on issue summary view (Hans Yoon)....
r1038 issues_by_assigned_to
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 issues_by_author
Jean-Philippe Lang
Added subprojects issue count on project "Reports" page...
r407 issues_by_subproject
Jean-Philippe Lang
Application layout refactored....
r736
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 render :template => "reports/issue_report"
end
end
private
# Find project of id params[:id]
def find_project
@project = Project.find(params[:id])
rescue ActiveRecord::RecordNotFound
render_404
end
def issues_by_tracker
@issues_by_tracker ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
t.id as tracker_id,
count(i.id) as total
from
Jean-Philippe Lang
fixed #9308 table_name pre/suffix support...
r334 #{Issue.table_name} i, #{IssueStatus.table_name} s, #{Tracker.table_name} t
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 where
i.status_id=s.id
and i.tracker_id=t.id
and i.project_id=#{@project.id}
group by s.id, s.is_closed, t.id")
end
Jean-Philippe Lang
Added issue count details for versions on Reports view....
r540
def issues_by_version
@issues_by_version ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
v.id as fixed_version_id,
count(i.id) as total
from
#{Issue.table_name} i, #{IssueStatus.table_name} s, #{Version.table_name} v
where
i.status_id=s.id
and i.fixed_version_id=v.id
and i.project_id=#{@project.id}
group by s.id, s.is_closed, v.id")
end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def issues_by_priority
@issues_by_priority ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
p.id as priority_id,
count(i.id) as total
from
Eric Davis
Changed Enumerations to use a Single Table Inheritance...
r2677 #{Issue.table_name} i, #{IssueStatus.table_name} s, #{IssuePriority.table_name} p
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 where
i.status_id=s.id
and i.priority_id=p.id
and i.project_id=#{@project.id}
group by s.id, s.is_closed, p.id")
end
def issues_by_category
@issues_by_category ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
c.id as category_id,
count(i.id) as total
from
Jean-Philippe Lang
fixed #9308 table_name pre/suffix support...
r334 #{Issue.table_name} i, #{IssueStatus.table_name} s, #{IssueCategory.table_name} c
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 where
i.status_id=s.id
and i.category_id=c.id
and i.project_id=#{@project.id}
group by s.id, s.is_closed, c.id")
end
Jean-Philippe Lang
Added details by assignees on issue summary view (Hans Yoon)....
r1038
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
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def issues_by_author
@issues_by_author ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
a.id as author_id,
count(i.id) as total
from
Jean-Philippe Lang
fixed #9308 table_name pre/suffix support...
r334 #{Issue.table_name} i, #{IssueStatus.table_name} s, #{User.table_name} a
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 where
i.status_id=s.id
and i.author_id=a.id
and i.project_id=#{@project.id}
group by s.id, s.is_closed, a.id")
Jean-Philippe Lang
indentation corrections...
r198 end
Jean-Philippe Lang
Added subprojects issue count on project "Reports" page...
r407
def issues_by_subproject
@issues_by_subproject ||=
ActiveRecord::Base.connection.select_all("select s.id as status_id,
s.is_closed as closed,
i.project_id as project_id,
count(i.id) as total
from
#{Issue.table_name} i, #{IssueStatus.table_name} s
where
i.status_id=s.id
Jean-Philippe Lang
Merged nested projects branch. Removes limit on subproject nesting (#594)....
r2302 and i.project_id IN (#{@project.descendants.active.collect{|p| p.id}.join(',')})
group by s.id, s.is_closed, i.project_id") if @project.descendants.active.any?
Jean-Philippe Lang
Added subprojects issue count on project "Reports" page...
r407 @issues_by_subproject ||= []
end
Jean-Philippe Lang
Initial commit...
r2 end