Add notify_automatic_deletion_to_user mailer
This commit is contained in:
parent
2627d602ca
commit
4e116f06a6
4 changed files with 49 additions and 0 deletions
|
@ -83,4 +83,11 @@ class DossierMailer < ApplicationMailer
|
||||||
|
|
||||||
mail(to: user.email, subject: @subject)
|
mail(to: user.email, subject: @subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def notify_automatic_deletion_to_user(user, dossier_hashes)
|
||||||
|
@subject = default_i18n_subject(count: dossier_hashes.count)
|
||||||
|
@dossier_hashes = dossier_hashes
|
||||||
|
|
||||||
|
mail(to: user.email, subject: @subject)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
- content_for(:title, "#{@subject}")
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonjour,
|
||||||
|
|
||||||
|
%p= t('.automatic_dossier_deletion', count: @dossier_hashes.count)
|
||||||
|
|
||||||
|
%ul
|
||||||
|
- @dossier_hashes.each do |d|
|
||||||
|
%li= link_to("n° #{d[:id]} (#{d[:procedure_libelle]})", dossier_url(d))
|
||||||
|
|
||||||
|
%p= t('.dossier_will_not_be_processed', count: @dossier_hashes.count)
|
||||||
|
|
||||||
|
= render partial: "layouts/mailers/signature"
|
|
@ -0,0 +1,12 @@
|
||||||
|
fr:
|
||||||
|
dossier_mailer:
|
||||||
|
notify_automatic_deletion_to_user:
|
||||||
|
subject:
|
||||||
|
one: "Un dossier a été supprimé automatiquement"
|
||||||
|
other: "Des dossiers ont été supprimés automatiquement"
|
||||||
|
automatic_dossier_deletion:
|
||||||
|
one: "Le délai maximum de conservation du dossier suivant a été atteint, il a donc été supprimé :"
|
||||||
|
other: "Le délai maximum de conservation des dossiers suivants a été atteint, ils ont donc été supprimés :"
|
||||||
|
dossier_will_not_be_processed:
|
||||||
|
one: "Le dossier ne sera pas traité, nous nous excusons de la gène occasionnée."
|
||||||
|
other: "Les dossiers ne seront pas traités, nous nous excusons de la gène occasionnée."
|
|
@ -106,4 +106,20 @@ RSpec.describe DossierMailer, type: :mailer do
|
||||||
it { expect(subject.subject).to eq("Un dossier en brouillon a été supprimé automatiquement") }
|
it { expect(subject.subject).to eq("Un dossier en brouillon a été supprimé automatiquement") }
|
||||||
it { expect(subject.body).to include("n° #{dossier.id} (#{dossier.procedure.libelle})") }
|
it { expect(subject.body).to include("n° #{dossier.id} (#{dossier.procedure.libelle})") }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.notify_automatic_deletion_to_user' do
|
||||||
|
let(:dossier) { create(:dossier) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
duree = dossier.procedure.duree_conservation_dossiers_dans_ds
|
||||||
|
@date_suppression = dossier.created_at + duree.months
|
||||||
|
end
|
||||||
|
|
||||||
|
subject { described_class.notify_automatic_deletion_to_user(dossier.user, [dossier.hash_for_deletion_mail]) }
|
||||||
|
|
||||||
|
it { expect(subject.subject).to eq("Un dossier a été supprimé automatiquement") }
|
||||||
|
it { expect(subject.body).to include("n° #{dossier.id} ") }
|
||||||
|
it { expect(subject.body).to include(dossier.procedure.libelle) }
|
||||||
|
it { expect(subject.body).to include("nous nous excusons de la gène occasionnée") }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue