diff --git a/app/models/metadata_template.rb b/app/models/metadata_template.rb index 7fa9ba7..8fa5a97 100644 --- a/app/models/metadata_template.rb +++ b/app/models/metadata_template.rb @@ -23,6 +23,7 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type, cache_key + '-' + cache_version end + # XXX: Deberíamos sanitizar durante la asignación? def value=(new_value) @value_was = value self[:value] = new_value @@ -122,6 +123,8 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type, # En caso de que algún campo necesite realizar acciones antes de ser # guardado def save + return true unless changed? + self[:value] = sanitize value self[:value] = encrypt(value) if private? @@ -138,7 +141,7 @@ MetadataTemplate = Struct.new(:site, :document, :name, :label, :type, # Determina si el campo es privado y debería ser cifrado def private? - !!layout.metadata.dig(name, 'private') + layout.metadata.dig(name, 'private').present? end private