refactor(email): improve wording of near deletion to user

Closes #7688
This commit is contained in:
Colin Darie 2023-01-03 14:50:36 +01:00
parent 6bb4e98329
commit 7d16ae83e8
6 changed files with 38 additions and 19 deletions

View file

@ -10,7 +10,7 @@
%ul
- @dossiers.each do |d|
%li
#{link_to("n° #{d.id} (#{d.procedure.libelle})", dossier_url(d))}. Retrouvez le dossier au format #{link_to("PDF", instructeur_dossier_url(d.procedure, d, format: :pdf))}
#{link_to("N° #{d.id} (#{d.procedure.libelle})", dossier_url(d))}. Retrouvez le dossier au format #{link_to("PDF", instructeur_dossier_url(d.procedure, d, format: :pdf))}
%p
- if @state == Dossier.states.fetch(:en_construction)

View file

@ -10,12 +10,15 @@
%ul
- @dossiers.each do |d|
%li
#{link_to("n° #{d.id} (#{d.procedure.libelle})", dossier_url(d))}. Retrouvez le dossier au format #{link_to("PDF", dossier_url(d, format: :pdf))}
#{link_to("N° #{d.id} (#{d.procedure.libelle})", dossier_url(d))}
%p
= sanitize(t('.footer', count: @dossiers.size))
%strong= t('.account_active', count: @dossiers.size)
%p
- if @state == Dossier.states.fetch(:en_construction)
= sanitize(t('.footer_en_construction', count: @dossiers.size))
- else
= sanitize(t('.footer_termine', count: @dossiers.size, dossiers_url: dossiers_url))
= render partial: "layouts/mailers/signature"

View file

@ -22,6 +22,7 @@
active: @statut == 'en-cours',
badge: number_with_html_delimiter(@user_dossiers.count))
- if @dossiers_traites.present?
// TODO: when renaming this tab in "Terminé", update notify_near_deletion_to_user email wording accordingly.
= tab_item(t('pluralize.traites', count: @dossiers_traites.count),
dossiers_path(statut: 'traites'),
active: @statut == 'traites',

View file

@ -8,14 +8,17 @@ fr:
one: Un dossier dont le traitement est terminé va bientôt être supprimé
other: Des dossiers dont le traitement est terminé vont bientôt être supprimés
header_en_construction:
one: "Afin de limiter la conservation de vos données personnelles, le dossier en construction suivant sera bientôt automatiquement supprimé :"
other: "Afin de limiter la conservation de vos données personnelles, les dossiers en construction suivant seront bientôt automatiquement supprimés :"
one: "Afin de respecter la durée de conservation de vos données personnelles, le dossier en construction suivant sera supprimé automatiquement dans deux semaines :"
other: "Afin de respecter la durée de conservation de vos données personnelles, les dossiers en construction suivants seront supprimés automatiquement dans deux semaines :"
header_termine:
one: "Afin de limiter la conservation de vos données personnelles, le dossier suivant dont le traitement est terminé sera bientôt automatiquement supprimé :"
other: "Afin de limiter la conservation de vos données personnelles, les dossiers suivant dont le traitement est terminé seront bientôt automatiquement supprimés :"
footer:
one: "Vous pouvez retrouver votre dossier pendant encore <b>deux semaines</b>. Vous navez rien à faire."
other: "Vous pouvez retrouver vos dossiers pendant encore <b>deux semaines</b>. Vous navez rien à faire."
one: "Afin de respecter la durée de conservation de vos données personnelles, le dossier suivant dont le traitement est terminé sera supprimé automatiquement dans deux semaines :"
other: "Afin de respecter la durée de conservation de vos données personnelles, les dossiers suivants dont le traitement est terminé seront supprimés automatiquement dans deux semaines :"
account_active:
one: Votre compte reste activé sur Démarches Simplifiées, seul le dossier sera supprimé.
other: Votre compte reste activé sur Démarches Simplifiées, seuls les dossiers seront supprimés.
footer_termine:
one: "Vous pouvez télécharger votre dossier au format PDF depuis longlet « Expirant » sur la page <a href=\"%{dossiers_url}\">Mes dossiers</a>."
other: "Vous pouvez télécharger vos dossiers au format PDF depuis longlet « Expirant » sur la page <a href=\"%{dossiers_url}\">Mes dossiers</a>."
footer_en_construction:
one: "Si vous souhaitez conserver votre dossier plus longtemps, vous pouvez <b>prolonger sa durée de conservation</b> dans linterface."
other: "Si vous souhaitez conserver vos dossiers plus longtemps, vous pouvez <b>prolonger leur durée de conservation</b> au cas par cas dans linterface."

View file

@ -161,7 +161,7 @@ RSpec.describe DossierMailer, type: :mailer do
subject { described_class.notify_near_deletion_to_administration([dossier], dossier.user.email) }
it { expect(subject.subject).to eq("Un dossier en construction va bientôt être supprimé") }
it { expect(subject.body).to include("n° #{dossier.id} ") }
it { expect(subject.body).to include("N° #{dossier.id} ") }
it { expect(subject.body).to include(dossier.procedure.libelle) }
it { expect(subject.body).to include("PDF") }
it { expect(subject.body).to include("Vous avez <b>deux semaines</b> pour commencer linstruction du dossier.") }
@ -173,10 +173,8 @@ RSpec.describe DossierMailer, type: :mailer do
subject { described_class.notify_near_deletion_to_administration([dossier], dossier.user.email) }
it { expect(subject.subject).to eq("Un dossier dont le traitement est terminé va bientôt être supprimé") }
it { expect(subject.body).to include("n° #{dossier.id} ") }
it { expect(subject.body).to include("N° #{dossier.id} ") }
it { expect(subject.body).to include(dossier.procedure.libelle) }
it { expect(subject.body).to include("PDF") }
it { expect(subject.body).to include("Vous avez <b>deux semaines</b> pour archiver le dossier.") }
end
end
@ -188,10 +186,9 @@ RSpec.describe DossierMailer, type: :mailer do
it { expect(subject.to).to eq([dossier.user.email]) }
it { expect(subject.subject).to eq("Un dossier en construction va bientôt être supprimé") }
it { expect(subject.body).to include("n° #{dossier.id} ") }
it { expect(subject.body).to include("N° #{dossier.id} ") }
it { expect(subject.body).to include(dossier.procedure.libelle) }
it { expect(subject.body).to include("PDF") }
it { expect(subject.body).to include("Vous pouvez retrouver votre dossier pendant encore <b>deux semaines</b>. Vous navez rien à faire.") }
it { expect(subject.body).to include("Votre compte reste activé") }
it { expect(subject.body).to include("Si vous souhaitez conserver votre dossier plus longtemps, vous pouvez <b>prolonger sa durée de conservation</b> dans linterface.") }
end
@ -202,10 +199,21 @@ RSpec.describe DossierMailer, type: :mailer do
it { expect(subject.to).to eq([dossier.user.email]) }
it { expect(subject.subject).to eq("Un dossier dont le traitement est terminé va bientôt être supprimé") }
it { expect(subject.body).to include("n° #{dossier.id} ") }
it { expect(subject.body).to include("N° #{dossier.id} ") }
it { expect(subject.body).to include(dossier.procedure.libelle) }
it { expect(subject.body).to include("Votre compte reste activé") }
it { expect(subject.body).to include("PDF") }
it { expect(subject.body).to include("Vous pouvez retrouver votre dossier pendant encore <b>deux semaines</b>. Vous navez rien à faire.") }
end
describe 'multiple termines' do
let(:dossiers) { create_list(:dossier, 3, :accepte) }
subject { described_class.notify_near_deletion_to_user(dossiers, dossiers[0].user.email) }
it { expect(subject.subject).to eq("Des dossiers dont le traitement est terminé vont bientôt être supprimés") }
it { expect(subject.body).to include("#{dossiers[0].id} ") }
it { expect(subject.body).to include("#{dossiers[1].id} ") }
it { expect(subject.body).to include("#{dossiers[2].id} ") }
end
end

View file

@ -32,6 +32,10 @@ class DossierMailerPreview < ActionMailer::Preview
DossierMailer.notify_near_deletion_to_user([dossier_accepte], usager_email)
end
def notify_termine_near_deletion_to_user_multiple
DossierMailer.notify_near_deletion_to_user([dossier_accepte, dossier_accepte], usager_email)
end
def notify_termine_near_deletion_to_administration
DossierMailer.notify_near_deletion_to_administration([dossier_accepte, dossier_accepte], administration_email)
end