redmine_issue_checklist プラグインで
あるトラッカーの場合は、進捗率が連動する様に修正してみました。
https://github.com/Restream/redmine_issue_checklist
元々、チェック状況に応じて進捗率を自動で変更するオプションがあるのですが、全てのチケットに対して有効になってしまうので、結局、機能をOFFにして使用しています。
基本的に、覚え書きとか、抜け漏れ防止の用途にチェックリストを使っているので、それがそのまま進捗になる事が無いのでOFFの方が良かったのですが、あるトラッカーでは、チェック状況=進捗率としたくなって、少し修正してみました。
app\controllers\issue_checklists_controller.rb
22行目
if (Setting.issue_done_ratio == 'issue_field') && RedmineIssueChecklist.settings[:issue_done_ratio]
done_checklist = @checklist_item.issue.checklist.map { |c| c.is_done ? 1 : 0 }
@checklist_item.issue.done_ratio = (done_checklist.count(1) * 10) / done_checklist.count * 10
@checklist_item.issue.save
end
↓↓↓↓↓↓↓↓
# トラッカーID3 (サポート)以外は、チェックリストでの進捗更新をしない
if (Setting.issue_done_ratio == 'issue_field') && (@checklist_item.issue.tracker.id == 3) && RedmineIssueChecklist.settings[:issue_done_ratio]
done_checklist = @checklist_item.issue.checklist.map { |c| c.is_done ? 1 : 0 }
if (@checklist_item.issue.checklist.count != 0)
@checklist_item.issue.done_ratio = ((done_checklist.count(1) * 10).to_f / @checklist_item.issue.checklist.count).round * 10
end
@checklist_item.issue.save
end
※ついでに、0除算しない様にバカ除け追加と、計算が切り捨てだったのを四捨五入に修正しています。
app\models\issue_checklist.rb
12行目
# after_save :recalc_issue_done_ratio
↓↓↓↓↓↓↓
after_save :recalc_issue_done_ratio
26行目
def recalc_issue_done_ratio
return false if (Setting.issue_done_ratio != 'issue_field') || !RedmineIssueChecklist.settings[:issue_done_ratio]
done_checklist = issue.checklist.map { |c| c.is_done ? 1 : 0 }
issue.done_ratio = (done_checklist.count(1) * 10) / done_checklist.count * 10
issue.save
end
↓↓↓↓↓↓↓↓
# トラッカーID3 (サポート)以外は、チェックリストでの進捗更新をしない
def recalc_issue_done_ratio
return false if (Setting.issue_done_ratio != 'issue_field') || (issue.tracker.id != 3) || !RedmineIssueChecklist.settings[:issue_done_ratio]
done_checklist = issue.checklist.map { |c| c.is_done ? 1 : 0 }
if (issue.checklist.count != 0)
issue.done_ratio = ((done_checklist.count(1) * 10).to_f / issue.checklist.count).round * 10
end
issue.save
end
bitnami 3.3.0, ie11, redmine_issue_checklist v2.1.0