aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/concerns/custom_fields_support.rb3
-rw-r--r--app/models/custom_field.rb2
2 files changed, 3 insertions, 2 deletions
diff --git a/app/models/concerns/custom_fields_support.rb b/app/models/concerns/custom_fields_support.rb
index 6e744d550..6b6621d0c 100644
--- a/app/models/concerns/custom_fields_support.rb
+++ b/app/models/concerns/custom_fields_support.rb
@@ -42,6 +42,7 @@ module CustomFieldsSupport
end
@custom_fields_values_initialized = true
else
+ @raw_custom_fields_values = vals
out = vals
end
write_attribute :custom_field_values, out
@@ -65,7 +66,7 @@ module CustomFieldsSupport
custom_field_values[k] ||= v.default_value
end
@custom_fields_initialized = true
- self.custom_field_values = self.custom_field_values unless custom_fields_values_initialized?
+ self.custom_field_values = (@raw_custom_fields_values || self.custom_field_values) unless custom_fields_values_initialized?
end
def custom_field_value key
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb
index b5c08465d..deb0326f8 100644
--- a/app/models/custom_field.rb
+++ b/app/models/custom_field.rb
@@ -244,7 +244,7 @@ class CustomField < ApplicationModel
end
def preprocess_value_for_assignment val
- if val.present?
+ if val.present? && !val.is_a?(Hash)
owner.send "#{uploader_name}=", val
else
@raw_value