From d905f2ce7eb210811e84cd5227b864bce7e187c2 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Lang
Date: Sat, 12 Dec 2009 10:33:12 +0000
Subject: [PATCH] Allow blank value for IssueStatus#default_done_ratio.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3157 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
app/models/issue.rb | 4 ++--
app/models/issue_status.rb | 1 +
app/views/issue_statuses/_form.rhtml | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 2062e58e..c0cdac86 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -220,8 +220,8 @@ class Issue < ActiveRecord::Base
# Set the done_ratio using the status if that setting is set. This will keep the done_ratios
# even if the user turns off the setting later
def update_done_ratio_from_issue_status
- if Issue.use_status_for_done_ratio? && !self.status.default_done_ratio.blank?
- self.done_ratio = self.status.default_done_ratio
+ if Issue.use_status_for_done_ratio? && status && status.default_done_ratio?
+ self.done_ratio = status.default_done_ratio
end
end
diff --git a/app/models/issue_status.rb b/app/models/issue_status.rb
index a9c1db58..fdda12a8 100644
--- a/app/models/issue_status.rb
+++ b/app/models/issue_status.rb
@@ -24,6 +24,7 @@ class IssueStatus < ActiveRecord::Base
validates_uniqueness_of :name
validates_length_of :name, :maximum => 30
validates_format_of :name, :with => /^[\w\s\'\-]*$/i
+ validates_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true
def after_save
IssueStatus.update_all("is_default=#{connection.quoted_false}", ['id <> ?', id]) if self.is_default?
diff --git a/app/views/issue_statuses/_form.rhtml b/app/views/issue_statuses/_form.rhtml
index e36dec82..20c333e0 100644
--- a/app/views/issue_statuses/_form.rhtml
+++ b/app/views/issue_statuses/_form.rhtml
@@ -7,7 +7,7 @@
<% if Issue.use_status_for_done_ratio? %>
-<%= select 'issue_status', :default_done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %>
+<%= select 'issue_status', :default_done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :include_blank => true %>
<% end %>