[Emails] Améliore le titre des emails transactionnels (#4111)
Usager : améliore le titre des emails transactionnels
This commit is contained in:
commit
7946aa5de2
14 changed files with 38 additions and 57 deletions
|
@ -4,14 +4,14 @@ class DossierMailer < ApplicationMailer
|
||||||
|
|
||||||
def notify_new_draft(dossier)
|
def notify_new_draft(dossier)
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
subject = "Retrouvez votre brouillon pour la démarche \"#{dossier.procedure.libelle}\""
|
subject = "Retrouvez votre brouillon pour la démarche « #{dossier.procedure.libelle} »"
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: subject)
|
mail(to: dossier.user.email, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_new_answer(dossier)
|
def notify_new_answer(dossier)
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
subject = "Nouveau message pour votre dossier nº #{dossier.id}"
|
subject = "Nouveau message pour votre dossier nº #{dossier.id} (#{dossier.procedure.libelle})"
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: subject) do |format|
|
mail(to: dossier.user.email, subject: subject) do |format|
|
||||||
format.html { render layout: 'mailers/notification' }
|
format.html { render layout: 'mailers/notification' }
|
||||||
|
@ -20,21 +20,21 @@ class DossierMailer < ApplicationMailer
|
||||||
|
|
||||||
def notify_deletion_to_user(deleted_dossier, to_email)
|
def notify_deletion_to_user(deleted_dossier, to_email)
|
||||||
@deleted_dossier = deleted_dossier
|
@deleted_dossier = deleted_dossier
|
||||||
subject = "Votre dossier n° #{@deleted_dossier.dossier_id} a bien été supprimé"
|
subject = "Votre dossier nº #{@deleted_dossier.dossier_id} a bien été supprimé"
|
||||||
|
|
||||||
mail(to: to_email, subject: subject)
|
mail(to: to_email, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_deletion_to_administration(deleted_dossier, to_email)
|
def notify_deletion_to_administration(deleted_dossier, to_email)
|
||||||
@deleted_dossier = deleted_dossier
|
@deleted_dossier = deleted_dossier
|
||||||
subject = "Le dossier n° #{@deleted_dossier.dossier_id} a été supprimé à la demande de l'usager"
|
subject = "Le dossier nº #{@deleted_dossier.dossier_id} a été supprimé à la demande de l'usager"
|
||||||
|
|
||||||
mail(to: to_email, subject: subject)
|
mail(to: to_email, subject: subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_unhide_to_user(dossier)
|
def notify_unhide_to_user(dossier)
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
subject = "Votre dossier n° #{@dossier.id} n'a pas pu être supprimé"
|
subject = "Votre dossier nº #{@dossier.id} n'a pas pu être supprimé"
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: subject)
|
mail(to: dossier.user.email, subject: subject)
|
||||||
end
|
end
|
||||||
|
@ -42,23 +42,14 @@ class DossierMailer < ApplicationMailer
|
||||||
def notify_undelete_to_user(dossier)
|
def notify_undelete_to_user(dossier)
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
@dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier'
|
@dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier'
|
||||||
@subject = "Votre #{@dossier_kind} n° #{@dossier.id} est à nouveau accessible"
|
@subject = "Votre #{@dossier_kind} nº #{@dossier.id} est à nouveau accessible"
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: @subject)
|
|
||||||
end
|
|
||||||
|
|
||||||
def notify_unmigrated_to_user(dossier, new_procedure)
|
|
||||||
@dossier = dossier
|
|
||||||
@dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier'
|
|
||||||
@subject = "Changement de procédure pour votre #{@dossier_kind} n° #{@dossier.id}"
|
|
||||||
@new_procedure = new_procedure
|
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: @subject)
|
mail(to: dossier.user.email, subject: @subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_revert_to_instruction(dossier)
|
def notify_revert_to_instruction(dossier)
|
||||||
@dossier = dossier
|
@dossier = dossier
|
||||||
@subject = "Votre dossier n° #{@dossier.id} est en train d'être réexaminé"
|
@subject = "Votre dossier nº #{@dossier.id} est en train d'être réexaminé"
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: @subject)
|
mail(to: dossier.user.email, subject: @subject)
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,7 @@ module Mails
|
||||||
|
|
||||||
SLUG = "closed_mail"
|
SLUG = "closed_mail"
|
||||||
DISPLAYED_NAME = "Accusé d'acceptation"
|
DISPLAYED_NAME = "Accusé d'acceptation"
|
||||||
DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été accepté'
|
DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été accepté (--libellé démarche--)'
|
||||||
DOSSIER_STATE = Dossier.states.fetch(:accepte)
|
DOSSIER_STATE = Dossier.states.fetch(:accepte)
|
||||||
|
|
||||||
def self.default_template_name_for_procedure(procedure)
|
def self.default_template_name_for_procedure(procedure)
|
||||||
|
|
|
@ -7,7 +7,7 @@ module Mails
|
||||||
SLUG = "initiated_mail"
|
SLUG = "initiated_mail"
|
||||||
DEFAULT_TEMPLATE_NAME = "notification_mailer/initiated_mail"
|
DEFAULT_TEMPLATE_NAME = "notification_mailer/initiated_mail"
|
||||||
DISPLAYED_NAME = 'Accusé de réception'
|
DISPLAYED_NAME = 'Accusé de réception'
|
||||||
DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a bien été reçu'
|
DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a bien été reçu (--libellé démarche--)'
|
||||||
DOSSIER_STATE = Dossier.states.fetch(:en_construction)
|
DOSSIER_STATE = Dossier.states.fetch(:en_construction)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ module Mails
|
||||||
SLUG = "received_mail"
|
SLUG = "received_mail"
|
||||||
DEFAULT_TEMPLATE_NAME = "notification_mailer/received_mail"
|
DEFAULT_TEMPLATE_NAME = "notification_mailer/received_mail"
|
||||||
DISPLAYED_NAME = 'Accusé de passage en instruction'
|
DISPLAYED_NAME = 'Accusé de passage en instruction'
|
||||||
DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- va être instruit'
|
DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- va être instruit (--libellé démarche--)'
|
||||||
DOSSIER_STATE = Dossier.states.fetch(:en_instruction)
|
DOSSIER_STATE = Dossier.states.fetch(:en_instruction)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ module Mails
|
||||||
SLUG = "refused_mail"
|
SLUG = "refused_mail"
|
||||||
DEFAULT_TEMPLATE_NAME = "notification_mailer/refused_mail"
|
DEFAULT_TEMPLATE_NAME = "notification_mailer/refused_mail"
|
||||||
DISPLAYED_NAME = 'Accusé de rejet du dossier'
|
DISPLAYED_NAME = 'Accusé de rejet du dossier'
|
||||||
DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été refusé'
|
DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été refusé (--libellé démarche--)'
|
||||||
DOSSIER_STATE = Dossier.states.fetch(:refuse)
|
DOSSIER_STATE = Dossier.states.fetch(:refuse)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ module Mails
|
||||||
SLUG = "without_continuation"
|
SLUG = "without_continuation"
|
||||||
DEFAULT_TEMPLATE_NAME = "notification_mailer/without_continuation_mail"
|
DEFAULT_TEMPLATE_NAME = "notification_mailer/without_continuation_mail"
|
||||||
DISPLAYED_NAME = 'Accusé de classement sans suite'
|
DISPLAYED_NAME = 'Accusé de classement sans suite'
|
||||||
DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été classé sans suite'
|
DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été classé sans suite (--libellé démarche--)'
|
||||||
DOSSIER_STATE = Dossier.states.fetch(:sans_suite)
|
DOSSIER_STATE = Dossier.states.fetch(:sans_suite)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
- content_for(:title, @subject)
|
|
||||||
|
|
||||||
%h1 Bonjour,
|
|
||||||
|
|
||||||
%p
|
|
||||||
Vous avez commencé un #{@dossier_kind},
|
|
||||||
= link_to("n° #{@dossier.id}", dossier_url(@dossier))
|
|
||||||
sur la procédure « #{@dossier.procedure.libelle} ».
|
|
||||||
En raison d’un changement dans la procédure, votre #{@dossier_kind} a été inaccessible pendant quelques jours.
|
|
||||||
L’accès est à présent à nouveau possible.
|
|
||||||
|
|
||||||
%p
|
|
||||||
Malheureusement, en raison des changements dans le procédure, vous ne pourrez pas mener à terme le #{@dossier_kind} commencé.
|
|
||||||
Si votre démarche est toujours d’actualité, nous vous invitons à la recommencer sur
|
|
||||||
= link_to("la nouvelle procédure", commencer_url(@new_procedure.path))
|
|
||||||
\.
|
|
||||||
|
|
||||||
%p
|
|
||||||
Nous avons pris des mesures pour nous assurer qu’un tel désagrément ne se reproduise pas,
|
|
||||||
et vous présentons nos excuses pour la gène occasionnée.
|
|
||||||
|
|
||||||
= render partial: "layouts/mailers/signature"
|
|
|
@ -1,5 +1,4 @@
|
||||||
%p
|
%p
|
||||||
Bonne journée,
|
Bonne journée,
|
||||||
|
%br
|
||||||
%p
|
L’équipe demarches-simplifiees.fr
|
||||||
L'équipe demarches-simplifiees.fr
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
%p
|
%p
|
||||||
Bonne journée,
|
Bonne journée,
|
||||||
|
%br
|
||||||
%p --nom du service--
|
\ --nom du service--
|
||||||
|
|
|
@ -9,7 +9,7 @@ FactoryBot.define do
|
||||||
end
|
end
|
||||||
|
|
||||||
trait :with_file do
|
trait :with_file do
|
||||||
file { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'application/pdf') }
|
file { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png') }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -42,7 +42,7 @@ FactoryBot.define do
|
||||||
end
|
end
|
||||||
|
|
||||||
trait :with_logo do
|
trait :with_logo do
|
||||||
logo { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'application/pdf') }
|
logo { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png') }
|
||||||
end
|
end
|
||||||
|
|
||||||
trait :with_path do
|
trait :with_path do
|
||||||
|
|
|
@ -29,7 +29,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
|
|
||||||
subject { described_class.notify_deletion_to_user(deleted_dossier, to_email) }
|
subject { described_class.notify_deletion_to_user(deleted_dossier, to_email) }
|
||||||
|
|
||||||
it { expect(subject.subject).to eq("Votre dossier n° #{deleted_dossier.dossier_id} a bien été supprimé") }
|
it { expect(subject.subject).to eq("Votre dossier nº #{deleted_dossier.dossier_id} a bien été supprimé") }
|
||||||
it { expect(subject.body).to include("Votre dossier") }
|
it { expect(subject.body).to include("Votre dossier") }
|
||||||
it { expect(subject.body).to include(deleted_dossier.dossier_id) }
|
it { expect(subject.body).to include(deleted_dossier.dossier_id) }
|
||||||
it { expect(subject.body).to include("a bien été supprimé") }
|
it { expect(subject.body).to include("a bien été supprimé") }
|
||||||
|
@ -41,7 +41,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
|
|
||||||
subject { described_class.notify_deletion_to_administration(deleted_dossier, to_email) }
|
subject { described_class.notify_deletion_to_administration(deleted_dossier, to_email) }
|
||||||
|
|
||||||
it { expect(subject.subject).to eq("Le dossier n° #{deleted_dossier.dossier_id} a été supprimé à la demande de l'usager") }
|
it { expect(subject.subject).to eq("Le dossier nº #{deleted_dossier.dossier_id} a été supprimé à la demande de l'usager") }
|
||||||
it { expect(subject.body).to include("À la demande de l'usager") }
|
it { expect(subject.body).to include("À la demande de l'usager") }
|
||||||
it { expect(subject.body).to include(deleted_dossier.dossier_id) }
|
it { expect(subject.body).to include(deleted_dossier.dossier_id) }
|
||||||
it { expect(subject.body).to include(deleted_dossier.procedure.libelle) }
|
it { expect(subject.body).to include(deleted_dossier.procedure.libelle) }
|
||||||
|
@ -52,7 +52,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
|
|
||||||
subject { described_class.notify_unhide_to_user(dossier) }
|
subject { described_class.notify_unhide_to_user(dossier) }
|
||||||
|
|
||||||
it { expect(subject.subject).to eq("Votre dossier n° #{dossier.id} n'a pas pu être supprimé") }
|
it { expect(subject.subject).to eq("Votre dossier nº #{dossier.id} n'a pas pu être supprimé") }
|
||||||
it { expect(subject.body).to include(dossier.id) }
|
it { expect(subject.body).to include(dossier.id) }
|
||||||
it { expect(subject.body).to include("n'a pas pu être supprimé") }
|
it { expect(subject.body).to include("n'a pas pu être supprimé") }
|
||||||
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Preview all emails at http://localhost:3000/rails/mailers/dossier_mailer
|
# Preview all emails at http://localhost:3000/rails/mailers/dossier_mailer
|
||||||
class DossierMailerPreview < ActionMailer::Preview
|
class DossierMailerPreview < ActionMailer::Preview
|
||||||
def notify_new_draft
|
def notify_new_draft
|
||||||
DossierMailer.notify_new_draft(dossier)
|
DossierMailer.notify_new_draft(draft)
|
||||||
end
|
end
|
||||||
|
|
||||||
def notify_new_answer
|
def notify_new_answer
|
||||||
|
@ -26,11 +26,24 @@ class DossierMailerPreview < ActionMailer::Preview
|
||||||
DeletedDossier.new(dossier_id: 1, procedure: procedure)
|
DeletedDossier.new(dossier_id: 1, procedure: procedure)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def draft
|
||||||
|
Dossier.new(id: 47882, procedure: procedure, user: User.new(email: "usager@example.com"))
|
||||||
|
end
|
||||||
|
|
||||||
def dossier
|
def dossier
|
||||||
Dossier.new(id: 1, procedure: procedure, user: User.new(email: "usager@example.com"))
|
Dossier.new(id: 47882, state: :en_instruction, procedure: procedure, user: User.new(email: "usager@example.com"))
|
||||||
end
|
end
|
||||||
|
|
||||||
def procedure
|
def procedure
|
||||||
Procedure.new(libelle: 'Démarche pour des marches')
|
Procedure.new(libelle: 'Dotation d’Équipement des Territoires Ruraux - Exercice 2019', service: service, logo: Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png'))
|
||||||
|
end
|
||||||
|
|
||||||
|
def service
|
||||||
|
Service.new(
|
||||||
|
nom: 'Direction du Territoire des Vosges',
|
||||||
|
email: 'prms@ddt.vosges.gouv.fr',
|
||||||
|
telephone: '01 34 22 33 85',
|
||||||
|
horaires: 'Du lundi au vendredi, de 9 h à 18 h'
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -449,7 +449,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} »")
|
||||||
expect(mail.html_part.body).to include(dossier_url(dossier))
|
expect(mail.html_part.body).to include(dossier_url(dossier))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue