5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-16 21:56:21 +00:00

Merge branch 'issue-8342' into 'rails'

feat: implementar campo de tipo password #8342

Closes #8204, #1944, #1943, #1942, #1940, #1939, #1938, and #1515

See merge request sutty/sutty!109
This commit is contained in:
fauno 2023-03-23 22:03:50 +00:00
commit e65b563229
6 changed files with 47 additions and 1 deletions

View file

@ -0,0 +1,25 @@
# frozen_string_literal: true
# Almacena una contraseña
class MetadataPassword < MetadataString
# Las contraseñas no son indexables
#
# @return [boolean]
def indexable?
false
end
private
alias_method :original_sanitize, :sanitize
# Sanitizar la string y generar un hash Bcrypt
#
# @param :string [String]
# @return [String]
def sanitize(string)
string = original_sanitize string
::BCrypt::Password.create(string).to_s
end
end

View file

@ -134,7 +134,11 @@ 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?
if !changed?
self[:value] = document_value if private?
return true
end
self[:value] = sanitize value
self[:value] = encrypt(value) if private?

View file

@ -0,0 +1,6 @@
%tr{ id: attribute }
%th= post_label_t(attribute, post: post)
%td{ dir: dir, lang: locale }
= metadata.value
%br/
%small= t('.safety')

View file

@ -0,0 +1,7 @@
.form-group
= label_tag "#{base}_#{attribute}", post_label_t(attribute, post: post)
= password_field base, attribute, value: metadata.value,
dir: dir, lang: locale,
**field_options(attribute, metadata)
= render 'posts/attribute_feedback',
post: post, attribute: attribute, metadata: metadata

View file

@ -443,6 +443,8 @@ en:
attribute_ro:
file:
download: Download file
password:
safety: Passwords are stored safely
show:
front_matter: Post metadata
submit:

View file

@ -451,6 +451,8 @@ es:
attribute_ro:
file:
download: Descargar archivo
password:
safety: Las contraseñas se almacenan de forma segura
show:
front_matter: Metadatos del artículo
submit: