aceptar politicas de privacidad antes de registrarse

This commit is contained in:
f 2019-02-11 16:14:27 -03:00
parent fdb79e3469
commit d70eca7149
No known key found for this signature in database
GPG key ID: F3FDAB97B5F9F7E7
6 changed files with 30 additions and 2 deletions

View file

@ -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

View file

@ -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)

View file

@ -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')

View file

@ -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:

View file

@ -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:

View file

@ -0,0 +1,5 @@
class AddAceptaPoliticasDePrivacidadToInvitadx < ActiveRecord::Migration[5.1]
def change
add_column :invitadxs, :acepta_politicas_de_privacidad, :boolean, default: false
end
end