Merge pull request #2022 from betagouv/mailers-cleanup

Mailers cleanup
This commit is contained in:
gregoirenovel 2018-06-01 11:45:42 +02:00 committed by GitHub
commit 0da03dac1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 28 additions and 40 deletions

View file

@ -5,7 +5,7 @@ class AdministrateurMailer < ApplicationMailer
@administrateur = administrateur @administrateur = administrateur
@reset_password_token = reset_password_token @reset_password_token = reset_password_token
@expiration_date = @administrateur.reset_password_sent_at + Devise.reset_password_within @expiration_date = @administrateur.reset_password_sent_at + Devise.reset_password_within
subject = "demarches-simplifiees.fr - N'oubliez pas d'activer votre compte administrateur" subject = "N'oubliez pas d'activer votre compte administrateur"
mail(to: administrateur.email, mail(to: administrateur.email,
subject: subject, subject: subject,

View file

@ -4,7 +4,7 @@ class AdministrationMailer < ApplicationMailer
def new_admin_email(admin, administration) def new_admin_email(admin, administration)
@admin = admin @admin = admin
@administration = administration @administration = administration
subject = "Création d'un compte Admin demarches-simplifiees.fr" subject = "Création d'un compte admininistrateur"
mail(to: TECH_EMAIL, mail(to: TECH_EMAIL,
subject: subject) subject: subject)
@ -13,7 +13,7 @@ class AdministrationMailer < ApplicationMailer
def invite_admin(admin, reset_password_token) def invite_admin(admin, reset_password_token)
@reset_password_token = reset_password_token @reset_password_token = reset_password_token
@admin = admin @admin = admin
subject = "demarches-simplifiees.fr - Activez votre compte administrateur" subject = "Activez votre compte administrateur"
mail(to: admin.email, mail(to: admin.email,
subject: subject, subject: subject,
@ -21,7 +21,7 @@ class AdministrationMailer < ApplicationMailer
end end
def refuse_admin(admin_email) def refuse_admin(admin_email)
subject = "demarches-simplifiees.fr - Votre demande de compte a été refusée" subject = "Votre demande de compte a été refusée"
mail(to: admin_email, mail(to: admin_email,
subject: subject, subject: subject,

View file

@ -4,7 +4,7 @@ class GestionnaireMailer < ApplicationMailer
def invite_gestionnaire(gestionnaire, reset_password_token) def invite_gestionnaire(gestionnaire, reset_password_token)
@reset_password_token = reset_password_token @reset_password_token = reset_password_token
@gestionnaire = gestionnaire @gestionnaire = gestionnaire
subject = "demarches-simplifiees.fr - Activez votre compte accompagnateur" subject = "Activez votre compte accompagnateur"
mail(to: gestionnaire.email, mail(to: gestionnaire.email,
subject: subject, subject: subject,
@ -12,17 +12,19 @@ class GestionnaireMailer < ApplicationMailer
end end
def user_to_gestionnaire(email) def user_to_gestionnaire(email)
subject = "Vous avez été nommé accompagnateur sur demarches-simplifiees.fr" @email = email
subject = "Vous avez été nommé accompagnateur"
send_mail(email, nil, subject) mail(to: @email, subject: subject)
end end
def last_week_overview(gestionnaire) def last_week_overview(gestionnaire)
email = gestionnaire.email
@overview = gestionnaire.last_week_overview
headers['X-mailjet-campaign'] = 'last_week_overview' headers['X-mailjet-campaign'] = 'last_week_overview'
overview = gestionnaire.last_week_overview subject = 'Votre activité hebdomadaire'
subject = 'Vos activités sur demarches-simplifiees.fr'
send_mail(gestionnaire.email, overview, subject) mail(to: email, subject: subject)
end end
def send_dossier(sender, dossier, recipient) def send_dossier(sender, dossier, recipient)
@ -32,17 +34,4 @@ class GestionnaireMailer < ApplicationMailer
mail(to: recipient.email, subject: subject) mail(to: recipient.email, subject: subject)
end end
private
def vars_mailer(email, args)
@args = args
@email = email
end
def send_mail(email, args, subject)
vars_mailer email, args
mail(to: email, subject: subject)
end
end end

View file

@ -1,25 +1,24 @@
class InviteMailer < ApplicationMailer class InviteMailer < ApplicationMailer
def invite_user(invite) def invite_user(invite)
vars_mailer(invite) subject = "Participez à l'élaboration d'un dossier"
subject = "demarches-simplifiees.fr - Participez à l'élaboration d'un dossier"
send_mail(invite.email, subject, invite.email_sender) if invite.user.present? if invite.user.present?
send_mail(invite, subject, invite.email_sender)
end
end end
def invite_guest(invite) def invite_guest(invite)
vars_mailer(invite) subject = "#{invite.email_sender} vous invite à consulter un dossier"
subject = "Invitation - #{invite.email_sender} vous invite à consulter un dossier sur demarches-simplifiees.fr"
send_mail(invite.email, subject, invite.email_sender) send_mail(invite, subject, invite.email_sender)
end end
private private
def vars_mailer(invite) def send_mail(invite, subject, reply_to)
@invite = invite @invite = invite
end email = invite.email
def send_mail(email, subject, reply_to)
mail(to: email, mail(to: email,
subject: subject, subject: subject,
reply_to: reply_to) reply_to: reply_to)

View file

@ -1,12 +1,12 @@
class NotificationMailer < ApplicationMailer class NotificationMailer < ApplicationMailer
def new_answer(dossier) def new_answer(dossier)
subject = "Nouveau message pour votre dossier demarches-simplifiees.fr  #{dossier.id}" subject = "Nouveau message pour votre dossier  #{dossier.id}"
send_mail(dossier, subject) send_mail(dossier, subject)
end end
def send_draft_notification(dossier) def send_draft_notification(dossier)
subject = "Retrouvez votre brouillon pour la démarche : #{dossier.procedure.libelle}" subject = "Retrouvez votre brouillon pour la démarche \"#{dossier.procedure.libelle}\""
send_mail(dossier, subject) send_mail(dossier, subject)
end end

View file

@ -1,6 +1,6 @@
- content_for(:title, 'Vos activités sur demarches-simplifiees.fr') - content_for(:title, 'Votre activité hebdomadaire')
- @args[:procedure_overviews].each_with_index do |procedure_overview, index| - @overview[:procedure_overviews].each_with_index do |procedure_overview, index|
%h2{ style: 'font-size: 20px; font-weight: 300; margin: 25px 0 5px;' } %h2{ style: 'font-size: 20px; font-weight: 300; margin: 25px 0 5px;' }
#{procedure_overview.procedure.libelle} #{procedure_overview.procedure.libelle}
@ -42,5 +42,5 @@
- end.join(', ') - end.join(', ')
= sanitize(old_dossiers_en_instruction, attributes: %w(href style)) = sanitize(old_dossiers_en_instruction, attributes: %w(href style))
- if index != (@args[:procedure_overviews].count - 1) - if index != (@overview[:procedure_overviews].count - 1)
.spacer{ style: 'border-bottom: 1px solid #CCC; margin: 25px 0 30px;' } .spacer{ style: 'border-bottom: 1px solid #CCC; margin: 25px 0 30px;' }

View file

@ -34,6 +34,6 @@ RSpec.describe GestionnaireMailer, type: :mailer do
subject { described_class.last_week_overview(gestionnaire) } subject { described_class.last_week_overview(gestionnaire) }
it { expect(subject.body).to include('Vos activités') } it { expect(subject.body).to include('Votre activité hebdomadaire') }
end end
end end

View file

@ -58,6 +58,6 @@ RSpec.describe NotificationMailer, type: :mailer do
it { expect(subject.body).to match('Un nouveau message est disponible dans votre espace demarches-simplifiees.fr.') } it { expect(subject.body).to match('Un nouveau message est disponible dans votre espace demarches-simplifiees.fr.') }
it { expect(subject.body).to include("Pour le consulter, merci de vous rendre sur #{users_dossier_recapitulatif_url(dossier_id: dossier.id)}") } it { expect(subject.body).to include("Pour le consulter, merci de vous rendre sur #{users_dossier_recapitulatif_url(dossier_id: dossier.id)}") }
it { expect(subject.subject).to eq("Nouveau message pour votre dossier demarches-simplifiees.fr  #{dossier.id}") } it { expect(subject.subject).to eq("Nouveau message pour votre dossier  #{dossier.id}") }
end end
end end

View file

@ -591,7 +591,7 @@ describe Dossier do
end.to change(ActionMailer::Base.deliveries, :size).from(0).to(1) end.to change(ActionMailer::Base.deliveries, :size).from(0).to(1)
mail = ActionMailer::Base.deliveries.last mail = ActionMailer::Base.deliveries.last
expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche : #{procedure.libelle}") expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche \"#{procedure.libelle}\"")
end end
it "does not send an email when the dossier is created with a non brouillon state" do it "does not send an email when the dossier is created with a non brouillon state" do