diff --git a/app/models/settings/base.rb b/app/models/settings/base.rb index c2699f369..c4c004434 100644 --- a/app/models/settings/base.rb +++ b/app/models/settings/base.rb @@ -153,7 +153,17 @@ module Settings # get the setting's value, YAML decoded def value - YAML.unsafe_load(self[:value]) if self[:value].present? + return if self[:value].blank? + + YAML.safe_load(self[:value], + permitted_classes: [ + ActiveSupport::HashWithIndifferentAccess, + ActiveSupport::TimeZone, + ActiveSupport::TimeWithZone, + BigDecimal, + Symbol, + Time, + ]) end # set the settings's value, YAML encoded