##// END OF EJS Templates
Select projects with issue_tracking module for gantt display and remove the nil start/due dates trick....
Jean-Philippe Lang -
r4363:b89820080366
parent child
Show More
@@ -449,24 +449,20 class Project < ActiveRecord::Base
449 449
450 450 # The earliest start date of a project, based on it's issues and versions
451 451 def start_date
452 if module_enabled?(:issue_tracking)
453 [
454 issues.minimum('start_date'),
455 shared_versions.collect(&:effective_date),
456 shared_versions.collect {|v| v.fixed_issues.minimum('start_date')}
457 ].flatten.compact.min
458 end
452 [
453 issues.minimum('start_date'),
454 shared_versions.collect(&:effective_date),
455 shared_versions.collect {|v| v.fixed_issues.minimum('start_date')}
456 ].flatten.compact.min
459 457 end
460 458
461 459 # The latest due date of an issue or version
462 460 def due_date
463 if module_enabled?(:issue_tracking)
464 [
465 issues.maximum('due_date'),
466 shared_versions.collect(&:effective_date),
467 shared_versions.collect {|v| v.fixed_issues.maximum('due_date')}
468 ].flatten.compact.max
469 end
461 [
462 issues.maximum('due_date'),
463 shared_versions.collect(&:effective_date),
464 shared_versions.collect {|v| v.fixed_issues.maximum('due_date')}
465 ].flatten.compact.max
470 466 end
471 467
472 468 def overdue?
@@ -97,7 +97,7 module Redmine
97 97 if @project
98 98 return number_of_rows_on_project(@project)
99 99 else
100 Project.roots.visible.inject(0) do |total, project|
100 Project.roots.visible.has_module('issue_tracking').inject(0) do |total, project|
101 101 total += number_of_rows_on_project(project)
102 102 end
103 103 end
@@ -125,7 +125,7 module Redmine
125 125 end
126 126
127 127 # Subprojects
128 project.children.visible.each do |subproject|
128 project.children.visible.has_module('issue_tracking').each do |subproject|
129 129 count += number_of_rows_on_project(subproject)
130 130 end
131 131
@@ -154,7 +154,7 module Redmine
154 154 if @project
155 155 render_project(@project, options)
156 156 else
157 Project.roots.visible.each do |project|
157 Project.roots.visible.has_module('issue_tracking').each do |project|
158 158 render_project(project, options)
159 159 end
160 160 end
@@ -190,7 +190,7 module Redmine
190 190 end
191 191
192 192 # Fourth, subprojects
193 project.children.visible.each do |project|
193 project.children.visible.has_module('issue_tracking').each do |project|
194 194 render_project(project, options)
195 195 end
196 196
@@ -882,14 +882,6 class ProjectTest < ActiveSupport::TestCase
882 882 should "be nil if there are no issues on the project" do
883 883 assert_nil @project.start_date
884 884 end
885
886 should "be nil if issue tracking is disabled" do
887 Issue.generate_for_project!(@project, :start_date => Date.today)
888 @project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy}
889 @project.reload
890
891 assert_nil @project.start_date
892 end
893 885
894 886 should "be tested when issues have no start date"
895 887
@@ -913,14 +905,6 class ProjectTest < ActiveSupport::TestCase
913 905 should "be nil if there are no issues on the project" do
914 906 assert_nil @project.due_date
915 907 end
916
917 should "be nil if issue tracking is disabled" do
918 Issue.generate_for_project!(@project, :due_date => Date.today)
919 @project.enabled_modules.find_all_by_name('issue_tracking').each {|m| m.destroy}
920 @project.reload
921
922 assert_nil @project.due_date
923 end
924 908
925 909 should "be tested when issues have no due date"
926 910
General Comments 0
You need to be logged in to leave comments. Login now