Added "Float" as a custom field format.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@870 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-10-25 17:38:05 +00:00
parent 01ef9f12c8
commit 8610b191ae
24 changed files with 108 additions and 18 deletions
+2 -2
View File
@@ -24,8 +24,6 @@ module CustomFieldsHelper
field_id = "custom_fields_#{custom_field.id}"
case custom_field.field_format
when "string", "int"
text_field 'custom_value', 'value', :name => field_name, :id => field_id
when "date"
text_field('custom_value', 'value', :name => field_name, :id => field_id, :size => 10) +
calendar_for(field_id)
@@ -35,6 +33,8 @@ module CustomFieldsHelper
check_box 'custom_value', 'value', :name => field_name, :id => field_id
when "list"
select 'custom_value', 'value', custom_field.possible_values, { :include_blank => true }, :name => field_name, :id => field_id
else
text_field 'custom_value', 'value', :name => field_name, :id => field_id
end
end
+4 -3
View File
@@ -22,9 +22,10 @@ class CustomField < ActiveRecord::Base
FIELD_FORMATS = { "string" => { :name => :label_string, :order => 1 },
"text" => { :name => :label_text, :order => 2 },
"int" => { :name => :label_integer, :order => 3 },
"list" => { :name => :label_list, :order => 4 },
"date" => { :name => :label_date, :order => 5 },
"bool" => { :name => :label_boolean, :order => 6 }
"float" => { :name => :label_float, :order => 4 },
"list" => { :name => :label_list, :order => 5 },
"date" => { :name => :label_date, :order => 6 },
"bool" => { :name => :label_boolean, :order => 7 }
}.freeze
validates_presence_of :name, :field_format
+6 -5
View File
@@ -26,13 +26,14 @@ protected
errors.add(:value, :activerecord_error_too_short) if custom_field.min_length > 0 and value.length < custom_field.min_length and value.length > 0
errors.add(:value, :activerecord_error_too_long) if custom_field.max_length > 0 and value.length > custom_field.max_length
case custom_field.field_format
when "int"
errors.add(:value, :activerecord_error_not_a_number) unless value =~ /^[0-9]*$/
when "date"
when 'int'
errors.add(:value, :activerecord_error_not_a_number) unless value.blank? || value =~ /^[+-]?\d+$/
when 'float'
begin; !value.blank? && Kernel.Float(value); rescue; errors.add(:value, :activerecord_error_invalid) end
when 'date'
errors.add(:value, :activerecord_error_not_a_date) unless value =~ /^\d{4}-\d{2}-\d{2}$/ or value.empty?
when "list"
when 'list'
errors.add(:value, :activerecord_error_inclusion) unless custom_field.possible_values.include? value or value.empty?
end
end
end
+1 -8
View File
@@ -13,13 +13,6 @@ function toggle_custom_field_format() {
Element.hide(p_regexp.parentNode);
Element.show(p_values);
break;
case "int":
case "string":
case "text":
Element.show(p_length.parentNode);
Element.show(p_regexp.parentNode);
Element.hide(p_values);
break;
case "date":
case "bool":
Element.hide(p_length.parentNode);
@@ -29,7 +22,7 @@ function toggle_custom_field_format() {
default:
Element.show(p_length.parentNode);
Element.show(p_regexp.parentNode);
Element.show(p_values);
Element.hide(p_values);
break;
}
}