summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-23 14:58:52 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2010-12-23 14:58:52 +0000
commitdf9ea24136059b502d156cb69c8bb2b9b6d952e1 (patch)
treef224402883f3366e92ab0f4cbcb0b7b2b81cc6f5
parent07fe46e9dfc1567d24de4ff8799a1e1c048b2adc (diff)
downloadredmine-df9ea24136059b502d156cb69c8bb2b9b6d952e1.tar.gz
redmine-df9ea24136059b502d156cb69c8bb2b9b6d952e1.zip
Makes Version#start_date return the minimum start_date of its issues.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4574 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/project.rb2
-rw-r--r--app/models/version.rb5
-rw-r--r--lib/redmine/helpers/gantt.rb2
3 files changed, 4 insertions, 5 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 355ae3a4c..4af77d1d9 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -454,7 +454,7 @@ class Project < ActiveRecord::Base
[
issues.minimum('start_date'),
shared_versions.collect(&:effective_date),
- shared_versions.collect {|v| v.fixed_issues.minimum('start_date')}
+ shared_versions.collect(&:start_date)
].flatten.compact.min
end
diff --git a/app/models/version.rb b/app/models/version.rb
index 95e6ad5f6..8b01816a7 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -43,7 +43,7 @@ class Version < ActiveRecord::Base
end
def start_date
- effective_date
+ @start_date ||= fixed_issues.minimum('start_date')
end
def due_date
@@ -77,8 +77,7 @@ class Version < ActiveRecord::Base
def behind_schedule?
if completed_pourcent == 100
return false
- elsif due_date && fixed_issues.present? && fixed_issues.minimum('start_date') # TODO: should use #start_date but that method is wrong...
- start_date = fixed_issues.minimum('start_date')
+ elsif due_date && start_date
done_date = start_date + ((due_date - start_date+1)* completed_pourcent/100).floor
return done_date <= Date.today
else
diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb
index af0fc4c72..4954434ce 100644
--- a/lib/redmine/helpers/gantt.rb
+++ b/lib/redmine/helpers/gantt.rb
@@ -319,7 +319,7 @@ module Redmine
options[:zoom] ||= 1
options[:g_width] ||= (self.date_to - self.date_from + 1) * options[:zoom]
- coords = coordinates(version.fixed_issues.minimum('start_date'), version.due_date, version.completed_pourcent, options[:zoom])
+ coords = coordinates(version.start_date, version.due_date, version.completed_pourcent, options[:zoom])
label = "#{h version } #{h version.completed_pourcent.to_i.to_s}%"
label = h("#{version.project} -") + label unless @project && @project == version.project