diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-09-11 22:00:18 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2013-09-11 22:00:18 +0000 |
commit | cb747a34effe57a268d768e8a4174a9425ed2f27 (patch) | |
tree | b59fce18479b9a8049f74a3c6402f1b94a539aa5 | |
parent | e7931941a7a3272ad9a5888fa849cb9263f8e4bd (diff) | |
download | redmine-cb747a34effe57a268d768e8a4174a9425ed2f27.tar.gz redmine-cb747a34effe57a268d768e8a4174a9425ed2f27.zip |
Wrong done_ratio calculation for parent with subtask having estimated_hours=0 ().
Patch by Daniel Felix.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12131 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/issue.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb index d04f5bd04..e6851e4fb 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1364,7 +1364,8 @@ class Issue < ActiveRecord::Base if average == 0 average = 1 end - done = p.leaves.sum("COALESCE(estimated_hours, #{average}) * (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f + done = p.leaves.sum("COALESCE(CASE WHEN estimated_hours > 0 THEN estimated_hours ELSE NULL END, #{average}) " + + "* (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f progress = done / (average * leaves_count) p.done_ratio = progress.round end |