Select projects with issue_tracking module for gantt display and remove the nil start/due dates trick.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4477 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
4715a37937
commit
b898200803
|
@ -449,24 +449,20 @@ class Project < ActiveRecord::Base
|
|||
|
||||
# The earliest start date of a project, based on it's issues and versions
|
||||
def start_date
|
||||
if module_enabled?(:issue_tracking)
|
||||
[
|
||||
issues.minimum('start_date'),
|
||||
shared_versions.collect(&:effective_date),
|
||||
shared_versions.collect {|v| v.fixed_issues.minimum('start_date')}
|
||||
].flatten.compact.min
|
||||
end
|
||||
[
|
||||
issues.minimum('start_date'),
|
||||
shared_versions.collect(&:effective_date),
|
||||
shared_versions.collect {|v| v.fixed_issues.minimum('start_date')}
|
||||
].flatten.compact.min
|
||||
end
|
||||
|
||||
# The latest due date of an issue or version
|
||||
def due_date
|
||||
if module_enabled?(:issue_tracking)
|
||||
[
|
||||
issues.maximum('due_date'),
|
||||
shared_versions.collect(&:effective_date),
|
||||
shared_versions.collect {|v| v.fixed_issues.maximum('due_date')}
|
||||
].flatten.compact.max
|
||||
end
|
||||
[
|
||||
issues.maximum('due_date'),
|
||||
shared_versions.collect(&:effective_date),
|
||||
shared_versions.collect {|v| v.fixed_issues.maximum('due_date')}
|
||||
].flatten.compact.max
|
||||
end
|
||||
|
||||
def overdue?
|
||||
|
|
|
@ -97,7 +97,7 @@ module Redmine
|
|||
if @project
|
||||
return number_of_rows_on_project(@project)
|
||||
else
|
||||
Project.roots.visible.inject(0) do |total, project|
|
||||
Project.roots.visible.has_module('issue_tracking').inject(0) do |total, project|
|
||||
total += number_of_rows_on_project(project)
|
||||
end
|
||||
end
|
||||
|
@ -125,7 +125,7 @@ module Redmine
|
|||
end
|
||||
|
||||
# Subprojects
|
||||
project.children.visible.each do |subproject|
|
||||
project.children.visible.has_module('issue_tracking').each do |subproject|
|
||||
count += number_of_rows_on_project(subproject)
|
||||
end
|
||||
|
||||
|
@ -154,7 +154,7 @@ module Redmine
|
|||
if @project
|
||||
render_project(@project, options)
|
||||
else
|
||||
Project.roots.visible.each do |project|
|
||||
Project.roots.visible.has_module('issue_tracking').each do |project|
|
||||
render_project(project, options)
|
||||
end
|
||||
end
|
||||
|
@ -190,7 +190,7 @@ module Redmine
|
|||
end
|
||||
|
||||
# Fourth, subprojects
|
||||
project.children.visible.each do |project|
|
||||
project.children.visible.has_module('issue_tracking').each do |project|
|
||||
render_project(project, options)
|
||||
end
|
||||
|
||||
|
|
|
@ -882,14 +882,6 @@ class ProjectTest < ActiveSupport::TestCase
|
|||
should "be nil if there are no issues on the project" do
|
||||
assert_nil @project.start_date
|
||||
end
|
||||
|
||||
should "be nil if issue tracking is disabled" do
|
||||
Issue.generate_for_project!(@project, :start_date => Date.today)
|
||||
@project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy}
|
||||
@project.reload
|
||||
|
||||
assert_nil @project.start_date
|
||||
end
|
||||
|
||||
should "be tested when issues have no start date"
|
||||
|
||||
|
@ -913,14 +905,6 @@ class ProjectTest < ActiveSupport::TestCase
|
|||
should "be nil if there are no issues on the project" do
|
||||
assert_nil @project.due_date
|
||||
end
|
||||
|
||||
should "be nil if issue tracking is disabled" do
|
||||
Issue.generate_for_project!(@project, :due_date => Date.today)
|
||||
@project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy}
|
||||
@project.reload
|
||||
|
||||
assert_nil @project.due_date
|
||||
end
|
||||
|
||||
should "be tested when issues have no due date"
|
||||
|
||||
|
|
Loading…
Reference in New Issue