Merge pull request #9874 from demarches-simplifiees/add-email-for-tiers-when-repasser-en-instruction-ldu

[Co-construction] Envoyer un mail au bénéficiaire si le dossier repasse en instruction
This commit is contained in:
Colin Darie 2023-12-21 08:32:10 +00:00 committed by GitHub
commit 535a54ce97
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 34 additions and 5 deletions

View file

@ -24,8 +24,9 @@ class NotificationMailer < ApplicationMailer
end
end
def send_notification_for_tiers(dossier)
def send_notification_for_tiers(dossier, repasser_en_instruction: false)
@dossier = dossier
@repasser_en_instruction = repasser_en_instruction
if @dossier.individual.no_notification?
mail.perform_deliveries = false

View file

@ -1003,6 +1003,7 @@ class Dossier < ApplicationRecord
MailTemplatePresenterService.create_commentaire_for_state(self, DossierOperationLog.operations.fetch(:repasser_en_instruction))
if !disable_notification
NotificationMailer.send_repasser_en_instruction_notification(self).deliver_later
NotificationMailer.send_notification_for_tiers(self, repasser_en_instruction: true).deliver_later if self.for_tiers?
end
log_dossier_operation(instructeur, :repasser_en_instruction)
end

View file

@ -13,7 +13,10 @@
%span{ :style => "font-weight: bold;" }
= @dossier.procedure.libelle
= t("layouts.mailers.for_tiers.#{@dossier.state}", processed_at: l(@dossier.updated_at.to_date) )
- if @repasser_en_instruction
= t("layouts.mailers.for_tiers.repasser_en_instruction")
- else
= t("layouts.mailers.for_tiers.#{@dossier.state}", processed_at: l(@dossier.updated_at.to_date) )
%p
= t("layouts.mailers.for_tiers.second_part")

View file

@ -26,7 +26,13 @@
.mandataire-infos{ "data-for-tiers-target" => "mandataireBlock" }
.fr-alert.fr-alert--info.fr-mb-2w
%p.fr-notice__text= t('views.users.dossiers.identite.callout_text')
%p.fr-notice__text
= t('views.users.dossiers.identite.callout_text')
= link_to(t('views.users.dossiers.identite.callout_link'),
'https://www.legifrance.gouv.fr/codes/section_lc/LEGITEXT000006070721/LEGISCTA000006136404/#LEGISCTA000006136404',
title: new_tab_suffix(t('views.users.dossiers.identite.callout_link_title')),
**external_link_attributes)
%fieldset.fr-fieldset
%legend.fr-fieldset__legend--regular.fr-fieldset__legend

View file

@ -400,7 +400,9 @@ en:
archived_dossier: "Your file will be kept %{duree_conservation_dossiers_dans_ds} more months"
identite:
self_title: Your identity
callout_text: "You are acting as a proxy for a principal, either professionally (such as accountant, lawyer) or personally (family). Make sure to respect the conditions of Articles 1984 and following of the Civil Code."
callout_text: "You are acting as a proxy for a principal, either professionally (such as accountant, lawyer) or personally (family). Make sure to respect the conditions of"
callout_link: Articles 1984 and following of the Civil Code.
callout_link_title: Articles 1984 and following of the Civil Code
beneficiaire_title: "Identity of the beneficiary"
identity_siret: Identify your establishment
civility: Civility

View file

@ -404,7 +404,9 @@ fr:
archived_dossier: "Votre dossier sera conservé %{duree_conservation_dossiers_dans_ds} mois supplémentaire"
identite:
self_title: Votre identité
callout_text: Vous agissez en tant que mandataire, soit professionnellement (comme expert-comptable, avocat) soit personnellement (famille). Assurez-vous de respecter les conditions des Articles 1984 et suivants du Code civil.
callout_text: Vous agissez en tant que mandataire, soit professionnellement (comme expert-comptable, avocat) soit personnellement (famille). Assurez-vous de respecter les conditions
callout_link: des Articles 1984 et suivants du Code civil.
callout_link_title: Articles 1984 et suivants du Code civil
beneficiaire_title: Identité du bénéficiaire
identity_siret: Identifier votre établissement
civility: Civilité

View file

@ -20,6 +20,7 @@ en:
second_part: To find out more, please contact
en_construction: has been submited %{processed_at}.
en_instruction: has been received and taken care of on %{processed_at}. The administration is reviewing your file.
repasser_en_instruction: will be re-examined, the previous decision on this file is obsolete.
accepte: has been accepted on %{processed_at}.
refuse: has been refused on %{processed_at}.
sans_suite: has been closed without continuation on %{processed_at}.

View file

@ -21,6 +21,7 @@ fr:
second_part: Pour en savoir plus, veuillez vous rapprocher de
en_construction: a été déposé le %{processed_at}.
en_instruction: a bien été reçu et pris en charge le %{processed_at}. Il va maintenant être examiné par le service.
repasser_en_instruction: va être réexaminé, la précédente décision sur ce dossier est caduque.
accepte: a été accepté le %{processed_at}.
refuse: a été refusé le %{processed_at}.
sans_suite: a été classé sans suite le %{processed_at}.

View file

@ -10,6 +10,18 @@ RSpec.describe NotificationMailer, type: :mailer do
it { expect(subject.subject).to include("Votre dossier rempli par le mandataire #{dossier_for_tiers.mandataire_first_name} #{dossier_for_tiers.mandataire_last_name} a été mis à jour") }
it { expect(subject.to).to eq([dossier_for_tiers.individual.email]) }
it { expect(subject.body).to include("a été déposé le") }
it { expect(subject.body).to include("Pour en savoir plus, veuillez vous rapprocher de\r\n<a href=\"mailto:#{dossier_for_tiers.user.email}\">#{dossier_for_tiers.user.email}</a>.") }
end
describe 'send_notification_for_tiers for repasser_en_instruction' do
let(:dossier_for_tiers) { create(:dossier, :accepte, :for_tiers_with_notification, procedure: create(:simple_procedure)) }
subject { described_class.send_notification_for_tiers(dossier_for_tiers, repasser_en_instruction: true) }
it { expect(subject.subject).to include("Votre dossier rempli par le mandataire #{dossier_for_tiers.mandataire_first_name} #{dossier_for_tiers.mandataire_last_name} a été mis à jour") }
it { expect(subject.to).to eq([dossier_for_tiers.individual.email]) }
it { expect(subject.body).to include("va être réexaminé, la précédente décision sur ce dossier est caduque.") }
it { expect(subject.body).to include("Pour en savoir plus, veuillez vous rapprocher de\r\n<a href=\"mailto:#{dossier_for_tiers.user.email}\">#{dossier_for_tiers.user.email}</a>.") }
end