5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-10-06 20:26:57 +00:00

Merge branch 'issue-2123' into panel.sutty.nl
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
f 2023-03-20 17:35:13 -03:00
commit 8a2edc4f17
5 changed files with 29 additions and 29 deletions

View file

@ -82,26 +82,17 @@ class UsuariesController < ApplicationController
# Enviar la invitación si es necesario y agregar al sitio
invitaciones.each do |invitacion|
# Si la cuenta no existe, envía una invitación por correo, sino,
# no se envía nada
#
# TODO: Enviar invitación igual! Podemos no usar el Mailer de
# DeviseInvitations y usar uno propio que contenga texto y se
# envíe de todas formas.
usuarie = Usuarie.invite! email: invitacion.address,
skip_invitation: true
attributes = { email: invitacion.address }
# No invitar al sitio si ya estaba en la lista!
#
# XXX: En este caso no estamos enviando ninguna invitación
next if usuarie.sites.exists? @site.id
next if Usuarie.where(id: @site.roles.pluck(:usuarie_id)).find_by(attributes)
@site.roles << Rol.create(usuarie: usuarie, site: @site,
temporal: true, rol: invited_as)
usuarie = Usuarie.find_by attributes.tap do |u|
u.send_devise_notification(:invitation_instructions, nil)
end
# Invitamos después de crear el rol para que el correo de
# invitación pueda recibir el sitio.
usuarie.deliver_invitation
usuarie ||= Usuarie.invite! attributes
@site.roles.create(usuarie: usuarie, temporal: true, rol: invited_as)
end
redirect_to site_usuaries_path(@site)

View file

@ -8,12 +8,15 @@
%h1= site.title
%p= site.description
%p= link_to t('devise.mailer.invitation_instructions.accept'),
- if @resource.created_by_invite?
%p= link_to t('devise.mailer.invitation_instructions.accept'),
accept_invitation_url(@resource, invitation_token: @token, change_locale_to: @resource.lang)
- if @resource.invitation_due_at
- if @resource.invitation_due_at
%p= t('devise.mailer.invitation_instructions.accept_until',
due_date: l(@resource.invitation_due_at,
format: :'devise.mailer.invitation_instructions.accept_until_format'))
- else
%p= link_to t('devise.mailer.invitation_instructions.sign_in'), root_url(change_locale_to: @resource.lang)
%p= t('devise.mailer.invitation_instructions.ignore')

View file

@ -9,11 +9,15 @@
\
= site.description
\
= accept_invitation_url(@resource, invitation_token: @token, change_locale_to: @resource.lang)
\
- if @resource.invitation_due_at
- if @resource.created_by_invite?
= accept_invitation_url(@resource, invitation_token: @token, change_locale_to: @resource.lang)
\
- if @resource.invitation_due_at
= t('devise.mailer.invitation_instructions.accept_until',
due_date: l(@resource.invitation_due_at,
format: :'devise.mailer.invitation_instructions.accept_until_format'))
- else
= root_url(change_locale_to: @resource.lang)
= t('devise.mailer.invitation_instructions.sign_in')
\
= t('devise.mailer.invitation_instructions.ignore')

View file

@ -23,6 +23,7 @@ en:
accept: "Accept invitation"
accept_until: "This invitation will be due in %{due_date}."
ignore: "If you don't want to accept the invitation, please ignore this email. Your account won't be created until you access the link above and set your password."
sign_in: "Sign in to your account to accept or decline the invitation."
time:
formats:
devise:

View file

@ -23,6 +23,7 @@ es:
accept: "Aceptar la invitación"
accept_until: "La invitación vencerá el %{due_date}."
ignore: "Si no querés aceptar la invitación, por favor ignora este correo. Tu cuenta no será creada hasta que aceptes la invitación y configures una contraseña."
sign_in: "Iniciá sesión con tu cuenta para aceptar o rechazar la invitación."
time:
formats:
devise: