Merge pull request #6968 from betagouv/improve-message-notification

Améliorations de l'email de notification "Nouveau commentaire sur un dossier en brouillon"
This commit is contained in:
Paul Chavard 2022-02-17 14:36:17 +01:00 committed by GitHub
commit 4e10c04a1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 13 deletions

View file

@ -3,16 +3,19 @@
%p= t(:hello, scope: [:views, :shared, :greetings])
- if !@dossier.brouillon?
%p= t('.body_html', libelle_demarche: @dossier.procedure.libelle)
%p= t('.link')
= round_button(t('.access_message'), messagerie_dossier_url(@dossier), :primary)
- else
- if @dossier.brouillon?
%p= t('.body_draft_html', libelle_demarche: @dossier.procedure.libelle)
%p{ style: "padding: 8px; color: #333333; background-color: #EEEEEE; font-size: 14px;" }
= @body
%p= t('.contact')
- if @service&.email.present?
%p= t('.contact_html', email: @service.email)
- else
%p= t('.contact_no_email')
= round_button(t('.access_file'), dossier_url(@dossier), :primary)
- else
%p= t('.body_html', libelle_demarche: @dossier.procedure.libelle)
%p= t('.link')
= round_button(t('.access_message'), messagerie_dossier_url(@dossier), :primary)
= render 'layouts/mailers/signature', service: @service

View file

@ -8,6 +8,7 @@ en:
To read the message and answer it, select the following link:
body_draft_html: |
You received <b>a new message</b> from the service in charge of reviewing the file you started a draft for on the procedure « %{libelle_demarche} ».
contact: If you chose to contact the service, please use the email available below in the page.
contact_html: "If you chose to contact the service, please send an email directly to this address: <a href=\"mailto:%{email}\">%{email}</a>"
contact_no_email: If you chose to contact the service, please use the contact infos available below.
access_message: Read the message
access_file: Open file

View file

@ -3,11 +3,12 @@ fr:
notify_new_answer:
subject: Nouveau message pour votre dossier nº %{dossier_id} « %{libelle_demarche} »
body_html: |
Vous avez reçu un <b>nouveau message</b> de la part du service en charge de votre dossier sur la démarche « %{libelle_demarche} ».
Vous avez reçu un <b>nouveau message</b> de la part de ladministration en charge de votre dossier sur la démarche « %{libelle_demarche} ».
link: |
Pour consulter le message et y répondre, cliquez sur le bouton ci-dessous :
body_draft_html: |
Vous avez reçu un <b>nouveau message</b>du service pour lequel votre dossier est en brouillon pour la démarche « %{libelle_demarche} ».
contact: Si vous souhaitez contacter le service, merci de le faire directement à l'aide de l'email en bas de page.
Vous avez reçu un <b>nouveau message</b> de ladministration, au sujet de votre dossier en brouillon pour la démarche « %{libelle_demarche} ».
contact_html: "Si vous souhaitez répondre à ce message, contactez directement ladministration à ladresse suivante : <a href=\"mailto:%{email}\">%{email}</a>"
contact_no_email: Si vous souhaitez répondre à ce message, contactez directement ladministration à laide des coordonnées en bas de cet email.
access_message: Lire le message
access_file: Voir le dossier

View file

@ -27,15 +27,23 @@ RSpec.describe DossierMailer, type: :mailer do
end
describe '.notify_new_answer with dossier brouillon' do
let(:dossier) { create(:dossier, procedure: create(:simple_procedure)) }
let(:service) { build(:service) }
let(:procedure) { create(:simple_procedure, service: service) }
let(:dossier) { create(:dossier, procedure: procedure) }
let(:commentaire) { create(:commentaire, dossier: dossier) }
subject { described_class.with(commentaire: commentaire).notify_new_answer }
it { expect(subject.subject).to include("Nouveau message") }
it { expect(subject.subject).to include(dossier.id.to_s) }
it { expect(subject.body).to include(dossier.procedure.service.email) }
it { expect(subject.body).not_to include(messagerie_dossier_url(dossier)) }
it_behaves_like 'a dossier notification'
context 'when there is no associated service' do
let(:service) { nil }
it { expect { subject }.not_to raise_error }
end
end
describe '.notify_new_answer with dossier en construction' do

View file

@ -5,7 +5,7 @@ class DossierMailerPreview < ActionMailer::Preview
end
def notify_new_answer
DossierMailer.notify_new_answer(dossier)
DossierMailer.with(commentaire: commentaire(on: draft)).notify_new_answer
end
def notify_revert_to_instruction
@ -88,7 +88,7 @@ class DossierMailerPreview < ActionMailer::Preview
end
def draft
Dossier.new(id: 47882, procedure: procedure, user: user)
Dossier.new(id: 47882, state: :brouillon, procedure: procedure, user: user)
end
def dossier
@ -119,4 +119,9 @@ class DossierMailerPreview < ActionMailer::Preview
def transfer
DossierTransfer.new(email: usager_email, dossiers: [dossier, dossier_accepte])
end
def commentaire(on:)
dossier = on
Commentaire.new(id: 7726, body: "Bonjour, Vous avez commencé le dépôt dun dossier pour une subvention DETR /DSIL. Dans le cas où votre opération naurait pas connu un commencement dexécution, vous êtes encouragé(e) à redéposer un nouveau dossier sur le formulaire de cette année.\nLa DDT", dossier: dossier)
end
end