make email confirmation more generic
This commit is contained in:
parent
ea354d46c4
commit
3cf3dc4623
5 changed files with 40 additions and 2 deletions
|
@ -40,7 +40,7 @@ class Users::ActivateController < ApplicationController
|
||||||
else
|
else
|
||||||
if user.present?
|
if user.present?
|
||||||
flash[:alert] = "Ce lien n'est plus valable, un nouveau lien a été envoyé à l'adresse #{user.email}"
|
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)
|
user.resend_confirmation_email!
|
||||||
else
|
else
|
||||||
flash[:alert] = "Un problème est survenu, vous pouvez nous contacter sur #{Current.contact_email}"
|
flash[:alert] = "Un problème est survenu, vous pouvez nous contacter sur #{Current.contact_email}"
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,6 +63,20 @@ class UserMailer < ApplicationMailer
|
||||||
reply_to: Current.contact_email)
|
reply_to: Current.contact_email)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def resend_confirmation_email(user, token)
|
||||||
|
@token = token
|
||||||
|
@user = user
|
||||||
|
subject = "Vérification de votre mail"
|
||||||
|
|
||||||
|
configure_defaults_for_user(user)
|
||||||
|
|
||||||
|
bypass_unverified_mail_protection!
|
||||||
|
|
||||||
|
mail(to: user.email,
|
||||||
|
subject: subject,
|
||||||
|
reply_to: Current.contact_email)
|
||||||
|
end
|
||||||
|
|
||||||
def invite_gestionnaire(user, reset_password_token, groupe_gestionnaire)
|
def invite_gestionnaire(user, reset_password_token, groupe_gestionnaire)
|
||||||
@reset_password_token = reset_password_token
|
@reset_password_token = reset_password_token
|
||||||
@user = user
|
@user = user
|
||||||
|
|
|
@ -95,6 +95,12 @@ class User < ApplicationRecord
|
||||||
AvisMailer.avis_invitation_and_confirm_email(self, token, avis).deliver_later
|
AvisMailer.avis_invitation_and_confirm_email(self, token, avis).deliver_later
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def resend_confirmation_email!
|
||||||
|
token = SecureRandom.hex(10)
|
||||||
|
self.update!(confirmation_token: token, confirmation_sent_at: Time.zone.now)
|
||||||
|
UserMailer.resend_confirmation_email(self, token).deliver_later
|
||||||
|
end
|
||||||
|
|
||||||
def invite_gestionnaire!(groupe_gestionnaire)
|
def invite_gestionnaire!(groupe_gestionnaire)
|
||||||
UserMailer.invite_gestionnaire(self, set_reset_password_token, groupe_gestionnaire).deliver_later
|
UserMailer.invite_gestionnaire(self, set_reset_password_token, groupe_gestionnaire).deliver_later
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
- if @avis.expert.user.active?
|
- if @avis.expert.user.active?
|
||||||
%p
|
%p
|
||||||
= round_button("Confirmer le mail pour donner votre avis", @url, :primary)
|
= round_button('Confirmez votre adresse email pour donner votre avis', users_confirm_email_url(token: @token), :primary)
|
||||||
- else
|
- else
|
||||||
%p
|
%p
|
||||||
= round_button("Inscrivez-vous pour donner votre avis", @url, :primary)
|
= round_button("Inscrivez-vous pour donner votre avis", @url, :primary)
|
||||||
|
|
18
app/views/user_mailer/resend_confirmation_email.html.haml
Normal file
18
app/views/user_mailer/resend_confirmation_email.html.haml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
- content_for(:title, "Vérification de votre mail sur #{Current.application_name}")
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
Votre précédente confirmation de mail n'a pas fonctionné, vous pouvez essayer de nouveau en cliquant sur ce bouton :
|
||||||
|
= round_button 'Je confirme', users_confirm_email_url(token: @token), :primary
|
||||||
|
|
||||||
|
%p
|
||||||
|
Vous pouvez aussi utiliser ce lien :
|
||||||
|
= link_to(users_confirm_email_url(token: @token), users_confirm_email_url(token: @token))
|
||||||
|
|
||||||
|
%p
|
||||||
|
Nous restons à votre disposition si vous avez besoin d’accompagnement à l'adresse #{link_to CONTACT_EMAIL, "mailto:#{CONTACT_EMAIL}"}.
|
||||||
|
|
||||||
|
|
||||||
|
= render partial: "layouts/mailers/signature"
|
Loading…
Reference in a new issue