##// END OF EJS Templates
Rails4: replace deprecated Relation#calculate with finder options at Issue model...
Toshi MARUYAMA -
r12262:5feb02c31d02
parent child
Show More
@@ -1338,7 +1338,7 class Issue < ActiveRecord::Base
1338 def recalculate_attributes_for(issue_id)
1338 def recalculate_attributes_for(issue_id)
1339 if issue_id && p = Issue.find_by_id(issue_id)
1339 if issue_id && p = Issue.find_by_id(issue_id)
1340 # priority = highest priority of children
1340 # priority = highest priority of children
1341 if priority_position = p.children.maximum("#{IssuePriority.table_name}.position", :joins => :priority)
1341 if priority_position = p.children.joins(:priority).maximum("#{IssuePriority.table_name}.position")
1342 p.priority = IssuePriority.find_by_position(priority_position)
1342 p.priority = IssuePriority.find_by_position(priority_position)
1343 end
1343 end
1344
1344
@@ -1357,8 +1357,9 class Issue < ActiveRecord::Base
1357 if average == 0
1357 if average == 0
1358 average = 1
1358 average = 1
1359 end
1359 end
1360 done = p.leaves.sum("COALESCE(CASE WHEN estimated_hours > 0 THEN estimated_hours ELSE NULL END, #{average}) " +
1360 done = p.leaves.joins(:status).
1361 "* (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)", :joins => :status).to_f
1361 sum("COALESCE(CASE WHEN estimated_hours > 0 THEN estimated_hours ELSE NULL END, #{average}) " +
1362 "* (CASE WHEN is_closed = #{connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)").to_f
1362 progress = done / (average * leaves_count)
1363 progress = done / (average * leaves_count)
1363 p.done_ratio = progress.round
1364 p.done_ratio = progress.round
1364 end
1365 end
General Comments 0
You need to be logged in to leave comments. Login now