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
|
||||
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)
|
||||
user.resend_confirmation_email!
|
||||
else
|
||||
flash[:alert] = "Un problème est survenu, vous pouvez nous contacter sur #{Current.contact_email}"
|
||||
end
|
||||
|
|
|
@ -63,6 +63,20 @@ class UserMailer < ApplicationMailer
|
|||
reply_to: Current.contact_email)
|
||||
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)
|
||||
@reset_password_token = reset_password_token
|
||||
@user = user
|
||||
|
|
|
@ -95,6 +95,12 @@ class User < ApplicationRecord
|
|||
AvisMailer.avis_invitation_and_confirm_email(self, token, avis).deliver_later
|
||||
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)
|
||||
UserMailer.invite_gestionnaire(self, set_reset_password_token, groupe_gestionnaire).deliver_later
|
||||
end
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
- if @avis.expert.user.active?
|
||||
%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
|
||||
%p
|
||||
= 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