manager: refactor SendInBlue unblock action

This commit is contained in:
Pierre de La Morinerie 2021-04-08 17:46:11 +02:00
parent 76e74003ad
commit 5e8327ff09
3 changed files with 32 additions and 13 deletions

View file

@ -52,14 +52,14 @@ module Manager
@sent_mails = Sendinblue::API.new.sent_mails(@user.email) @sent_mails = Sendinblue::API.new.sent_mails(@user.email)
end end
def unblock_user def unblock_email
@user = User.find(params[:id]) @user = User.find(params[:user_id])
if Sendinblue::API.new.unblock_user(@user.email)
transactionnal_api = ::SibApiV3Sdk::TransactionalEmailsApi.new flash.notice = "L'adresse email a été débloquée auprès de Sendinblue"
transactionnal_api.smtp_blocked_contacts_email_delete(@user.email) else
flash.alert = "Impossible de débloquer cette addresse email auprès de Sendinblue"
rescue ::SibApiV3Sdk::ApiError => e end
flash.alert = "Impossible de débloquer cet email auprès de Sendinblue : #{e.message}" redirect_to emails_manager_user_path(@user)
end end
end end
end end

View file

@ -55,6 +55,15 @@ class Sendinblue::API
[] []
end end
def unblock_user(email_address)
client = ::SibApiV3Sdk::TransactionalEmailsApi.new
client.smtp_blocked_contacts_email_delete(email_address)
true
rescue ::SibApiV3Sdk::ApiError => e
Rails.logger.error e.message
false
end
def run def run
hydra.run hydra.run
@hydra = nil @hydra = nil

View file

@ -98,8 +98,12 @@ https://www.demarches-simplifiees.fr/users/password/new
Cordialement</pre> Cordialement</pre>
<% end %> <% end %>
<p><strong>Compte <a href="https://app-smtp.sendinblue.com/block">bloqué</a> chez Sendinblue ?</strong> Vous pouvez le <%= link_to('débloquer', manager_user_unblock_email_path(@user), method: :put, class: 'button', remote: true) %> puis lui envoyer <button class="btn btn-secondary btn-small" onclick="reveal_email('#unblock_email')">le mail suivant</button></p> <p>
<pre class="hidden" id="unblock_email"> <strong>Compte <a href="https://app-smtp.sendinblue.com/block">bloqué</a> chez Sendinblue ?</strong>
Vous pouvez le <%= link_to('débloquer', manager_user_unblock_email_path(@user), method: :put, class: 'button') %>
puis lui envoyer <button class="btn btn-secondary btn-small" onclick="reveal_email('#unblock_email')">le mail suivant</button>
</p>
<pre class="hidden" id="unblock_email">
Bonjour, Bonjour,
votre email était bloqué par notre prestataire. votre email était bloqué par notre prestataire.
@ -109,12 +113,18 @@ Cela peut arriver si vous, ou ceux qui gèrent vos emails, marquent nos emails c
Nous vous invitons donc à autoriser les emails émis depuis demarches-simplifiees.fr Nous vous invitons donc à autoriser les emails émis depuis demarches-simplifiees.fr
Bien cordialement</pre> Bien cordialement
<p><strong>Problème chez Sendinblue ?</strong> Regardez leur <a href="https://status.sendinblue.com/">page de status</a>. <button class="btn btn-secondary btn-small" onclick="reveal_email('#pb-sendinblue')">Voir la suggestion demail</button></p> </pre>
<p>
<strong>Problème chez Sendinblue ?</strong>
Regardez leur <a href="https://status.sendinblue.com/">page de status</a>.
<button class="btn btn-secondary btn-small" onclick="reveal_email('#pb-sendinblue')">Voir la suggestion demail</button>
</p>
<pre class="hidden" id="pb-sendinblue"> <pre class="hidden" id="pb-sendinblue">
Bonjour, Bonjour,
Désolé, notre prestataire d'envoi d'email subit actuellement des soucis avec sa plateforme ; Désolé, notre prestataire d'envoi d'email subit actuellement des soucis avec sa plateforme ;
vous allez recevoir cet email sous peu. vous allez recevoir cet email sous peu.
Bien cordialement,</pre> Bien cordialement,
</pre>
</section> </section>