Fixes User/CustomValue association broken by r2869 (#3978).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2905 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2009-10-10 10:16:00 +00:00
parent bcbf08017a
commit 6656d41a41
3 changed files with 19 additions and 4 deletions

View File

@ -0,0 +1,9 @@
class FixUsersCustomValues < ActiveRecord::Migration
def self.up
CustomValue.update_all("customized_type = 'Principal'", "customized_type = 'User'")
end
def self.down
CustomValue.update_all("customized_type = 'User'", "customized_type = 'Principal'")
end
end

View File

@ -12,19 +12,19 @@ custom_values_007:
id: 7 id: 7
value: Stable value: Stable
custom_values_001: custom_values_001:
customized_type: User customized_type: Principal
custom_field_id: 4 custom_field_id: 4
customized_id: 3 customized_id: 3
id: 1 id: 1
value: "" value: ""
custom_values_002: custom_values_002:
customized_type: User customized_type: Principal
custom_field_id: 4 custom_field_id: 4
customized_id: 4 customized_id: 4
id: 2 id: 2
value: 01 23 45 67 89 value: 01 23 45 67 89
custom_values_003: custom_values_003:
customized_type: User customized_type: Principal
custom_field_id: 4 custom_field_id: 4
customized_id: 2 customized_id: 2
id: 3 id: 3

View File

@ -18,7 +18,7 @@
require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/../test_helper'
class CustomValueTest < ActiveSupport::TestCase class CustomValueTest < ActiveSupport::TestCase
fixtures :custom_fields fixtures :custom_fields, :custom_values, :users
def test_string_field_validation_with_blank_value def test_string_field_validation_with_blank_value
f = CustomField.new(:field_format => 'string') f = CustomField.new(:field_format => 'string')
@ -114,4 +114,10 @@ class CustomValueTest < ActiveSupport::TestCase
v = CustomValue.new(:custom_field => field, :value => 'Not empty') v = CustomValue.new(:custom_field => field, :value => 'Not empty')
assert_equal 'Not empty', v.value assert_equal 'Not empty', v.value
end end
def test_sti_polymorphic_association
# Rails uses top level sti class for polymorphic association. See #3978.
assert !User.find(4).custom_values.empty?
assert !CustomValue.find(2).customized.nil?
end
end end