summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-07 19:42:36 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-07 19:42:36 +0000
commitb8982008036624581c1eaa8f92adaa383fafd04e (patch)
treed0cd057d76e6a662bd8e1df8d654c0246b892e6f
parent4715a37937cb30192df17a7db18c5f31f24463b0 (diff)
downloadredmine-b8982008036624581c1eaa8f92adaa383fafd04e.tar.gz
redmine-b8982008036624581c1eaa8f92adaa383fafd04e.zip
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
-rw-r--r--app/models/project.rb24
-rw-r--r--lib/redmine/helpers/gantt.rb8
-rw-r--r--test/unit/project_test.rb16
3 files changed, 14 insertions, 34 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index d68958e27..805e29414 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -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?
diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb
index 274b4442f..79088dfe5 100644
--- a/lib/redmine/helpers/gantt.rb
+++ b/lib/redmine/helpers/gantt.rb
@@ -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
diff --git a/test/unit/project_test.rb b/test/unit/project_test.rb
index c77d7e61d..87452ceb9 100644
--- a/test/unit/project_test.rb
+++ b/test/unit/project_test.rb
@@ -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"