resent email if link too old and better style email
This commit is contained in:
parent
3eabcb0736
commit
e9f5389f83
4 changed files with 29 additions and 15 deletions
|
@ -38,8 +38,12 @@ class Users::ActivateController < ApplicationController
|
|||
user.update!(email_verified_at: Time.zone.now)
|
||||
flash[:notice] = 'Votre email a bien été vérifié'
|
||||
else
|
||||
flash[:alert] = "le lien est trop vieux"
|
||||
# to do relancer un lien if user
|
||||
if user.present?
|
||||
flash[:alert] = "Ce lien n'est plus valable, un nouveau lien a été envoyé à l'adresse #{user.email}"
|
||||
User.create_or_promote_to_tiers(user.email, SecureRandom.hex)
|
||||
else
|
||||
flash[:alert] = "Un problème est survenu, vous pouvez nous contacter sur #{Current.contact_email}"
|
||||
end
|
||||
end
|
||||
redirect_to root_path(user)
|
||||
end
|
||||
|
|
|
@ -136,7 +136,7 @@ class User < ApplicationRecord
|
|||
user
|
||||
end
|
||||
|
||||
def self.create_or_promote_to_tiers(email, password, dossier)
|
||||
def self.create_or_promote_to_tiers(email, password, dossier = nil)
|
||||
user = User
|
||||
.create_with(password: password, confirmed_at: Time.zone.now)
|
||||
.find_or_create_by(email: email)
|
||||
|
|
|
@ -3,16 +3,25 @@
|
|||
%p
|
||||
Bonjour,
|
||||
|
||||
%p
|
||||
Un dossier sur la démarche : #{@dossier.procedure.libelle} a été démarré en votre nom par #{@dossier.user.email}.
|
||||
%p
|
||||
- if @dossier.present?
|
||||
Un dossier sur la démarche : #{@dossier.procedure.libelle} a été démarré en votre nom par #{@dossier.user.email}.
|
||||
- else
|
||||
Un dossier a été démarré en votre nom sur #{Current.application_name}"
|
||||
|
||||
%p
|
||||
Pour continuer à recevoir les mails concernant votre dossier, vous devez confirmer votre adresse email en cliquant sur ce bouton :
|
||||
= round_button 'Je confirme', users_confirm_email_url(token: @token), :primary
|
||||
|
||||
%p
|
||||
Pour continuer à recevoir les mails concernant votre dossier, vous devez confirmer votre adresse email en cliquant sur ce lien :
|
||||
%p
|
||||
Vous pouvez aussi utiliser ce lien :
|
||||
= link_to(users_confirm_email_url(token: @token), users_confirm_email_url(token: @token))
|
||||
|
||||
= link_to(users_confirm_email_url(token: @token), users_confirm_email_url(token: @token))
|
||||
%p
|
||||
- if @dossier.present?
|
||||
Pour en savoir plus, veuillez vous rapprocher de #{@dossier.user.email}.
|
||||
- else
|
||||
Nous restons à votre disposition si vous avez besoin d’accompagnement à l'adresse #{link_to CONTACT_EMAIL, "mailto:#{CONTACT_EMAIL}"}.
|
||||
|
||||
%p
|
||||
Pour en savoir plus, veuillez vous rapprocher de #{@dossier.user.email}.
|
||||
|
||||
= render partial: "layouts/mailers/signature"
|
||||
|
|
|
@ -61,7 +61,7 @@ describe Users::ActivateController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when the confirmation token is not valid but already used' do
|
||||
context 'when the confirmation token is valid but already used' do
|
||||
before do
|
||||
get :confirm_email, params: { token: user.confirmation_token }
|
||||
get :confirm_email, params: { token: user.confirmation_token }
|
||||
|
@ -74,15 +74,16 @@ describe Users::ActivateController, type: :controller do
|
|||
end
|
||||
|
||||
context 'when the confirmation token is too old or not valid' do
|
||||
subject { get :confirm_email, params: { token: user.confirmation_token } }
|
||||
|
||||
before do
|
||||
user.update!(confirmation_sent_at: 3.days.ago)
|
||||
get :confirm_email, params: { token: user.confirmation_token }
|
||||
user.reload
|
||||
end
|
||||
|
||||
it 'redirects to root path with an explanation notice' do
|
||||
it 'redirects to root path with an explanation notice and it send a new link if user present' do
|
||||
expect { subject }.to have_enqueued_mail(UserMailer, :invite_tiers)
|
||||
expect(response).to redirect_to(root_path(user))
|
||||
expect(flash[:alert]).to eq('le lien est trop vieux')
|
||||
expect(flash[:alert]).to eq("Ce lien n'est plus valable, un nouveau lien a été envoyé à l'adresse #{user.email}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue