aceptar politicas de privacidad antes de registrarse
This commit is contained in:
parent
fdb79e3469
commit
d70eca7149
6 changed files with 30 additions and 2 deletions
|
@ -52,6 +52,7 @@ class InvitadxsController < ApplicationController
|
|||
private
|
||||
|
||||
def invitadx_params
|
||||
params.require(:invitadx).permit(:email, :password, :password_confirmation)
|
||||
params.require(:invitadx).permit(:email, :password,
|
||||
:password_confirmation, :acepta_politicas_de_privacidad)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
class Invitadx < ApplicationRecord
|
||||
has_secure_password
|
||||
validates_uniqueness_of :email
|
||||
validate :acepto_politicas_de_privacidad
|
||||
|
||||
after_create :create_invitadx_directory!
|
||||
after_save :add_sites!
|
||||
|
@ -28,6 +29,13 @@ class Invitadx < ApplicationRecord
|
|||
|
||||
private
|
||||
|
||||
def acepto_politicas_de_privacidad
|
||||
unless acepta_politicas_de_privacidad?
|
||||
errors.add(:acepta_politicas_de_privacidad,
|
||||
:no_acepta_politicas_de_privacidad)
|
||||
end
|
||||
end
|
||||
|
||||
# Crea el directorio en _sites
|
||||
def create_invitadx_directory!
|
||||
FileUtils.mkdir_p(path)
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
- else
|
||||
.alert.alert-dismissible.alert-info.fade.show{role: 'alert'}
|
||||
%ul
|
||||
- @invitadx.errors.full_messages.each do |message|
|
||||
- @invitadx.errors.messages.each do |_, message|
|
||||
%li= message
|
||||
%button.close{type: 'button',
|
||||
data: { dismiss: 'alert' },
|
||||
|
@ -25,6 +25,14 @@
|
|||
= f.password_field :password, class: 'form-control', placeholder: t('.password')
|
||||
.form-group
|
||||
= f.password_field :password_confirmation, class: 'form-control', placeholder: t('.password_confirmation')
|
||||
- if @site.config.dig('privacy_policy')
|
||||
.form-check
|
||||
= f.check_box :acepta_politicas_de_privacidad,
|
||||
class: 'form-check-input'
|
||||
= f.label :acepta_politicas_de_privacidad,
|
||||
raw(t('.acepta_politicas_de_privacidad',
|
||||
privacy_policy: @site.config['privacy_policy'])),
|
||||
class: 'form-check-label'
|
||||
|
||||
.form-group
|
||||
- button = @site.config.dig('welcome', 'button')
|
||||
|
|
|
@ -8,6 +8,8 @@ en:
|
|||
taken: 'This e-mail address is already taken, please choose another'
|
||||
password_confirmation:
|
||||
confirmation: "The passwords don't match"
|
||||
acepta_politicas_de_privacidad:
|
||||
no_acepta_politicas_de_privacidad: "Please read and accept the privacy policy"
|
||||
errors:
|
||||
argument_error: 'Argument `%{argument}` must be an instance of %{class}'
|
||||
unknown_locale: 'Unknown %{locale} locale'
|
||||
|
@ -28,6 +30,7 @@ en:
|
|||
password: 'Password'
|
||||
password_confirmation: 'Repeat password'
|
||||
submit: 'Register'
|
||||
acepta_politicas_de_privacidad: 'I accept the <a href="%{privacy_policy}" target="_blank">Privacy policy</a>.'
|
||||
confirmation:
|
||||
confirmed: 'Your account is confirmed, please log in to continue'
|
||||
show:
|
||||
|
|
|
@ -8,6 +8,8 @@ es:
|
|||
taken: 'Esa cuenta ya está tomada, por favor elige otra.'
|
||||
password_confirmation:
|
||||
confirmation: Las contraseñas no coinciden
|
||||
acepta_politicas_de_privacidad:
|
||||
no_acepta_politicas_de_privacidad: "Por favor lee y acepta la política de privacidad"
|
||||
errors:
|
||||
argument_error: 'El argumento `%{argument}` debe ser una instancia de %{class}'
|
||||
unknown_locale: 'El idioma %{locale} es desconocido'
|
||||
|
@ -28,6 +30,7 @@ es:
|
|||
password: Contraseña
|
||||
password_confirmation: Repite la contraseña
|
||||
submit: Registrarme
|
||||
acepta_politicas_de_privacidad: 'Acepto las <a href="%{privacy_policy}" target="_blank">Políticas de privacidad</a>.'
|
||||
confirmation:
|
||||
confirmed: 'Tu cuenta está confirmada, ahora puedes ingresar'
|
||||
show:
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddAceptaPoliticasDePrivacidadToInvitadx < ActiveRecord::Migration[5.1]
|
||||
def change
|
||||
add_column :invitadxs, :acepta_politicas_de_privacidad, :boolean, default: false
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue