feat(groupe instructeur mailer): do not notify group when instructeurs removed

This commit is contained in:
Eric Leroy-Terquem 2023-03-02 09:33:16 +01:00
parent bab8fac81e
commit f6c4986e86
9 changed files with 0 additions and 78 deletions

View file

@ -156,10 +156,6 @@ module Administrateurs
GroupeInstructeurMailer
.notify_removed_instructeur(groupe_instructeur, instructeur, current_administrateur.email)
.deliver_later
GroupeInstructeurMailer
.notify_group_when_instructeurs_removed(groupe_instructeur, [instructeur], current_administrateur.email)
.deliver_later
else
flash[:alert] = if procedure.routing_enabled?
if instructeur.present?

View file

@ -41,10 +41,6 @@ module Instructeurs
GroupeInstructeurMailer
.notify_removed_instructeur(groupe_instructeur, instructeur, current_user.email)
.deliver_later
GroupeInstructeurMailer
.notify_group_when_instructeurs_removed(groupe_instructeur, [instructeur], current_user.email)
.deliver_later
else
flash[:alert] = "Linstructeur « #{instructeur.email} » nest pas dans le groupe."
end

View file

@ -14,13 +14,6 @@ module Mutations
instructeurs.each { groupe_instructeur.remove(_1) }
groupe_instructeur.reload
if groupe_instructeur.procedure.routing_enabled? && instructeurs.present?
GroupeInstructeurMailer
.notify_group_when_instructeurs_removed(groupe_instructeur, instructeurs, current_administrateur.email)
.deliver_later
end
{ groupe_instructeur: }
end
end

View file

@ -1,17 +1,6 @@
class GroupeInstructeurMailer < ApplicationMailer
layout 'mailers/layout'
def notify_group_when_instructeurs_removed(group, removed_instructeurs, current_instructeur_email)
@removed_instructeur_emails = removed_instructeurs.map(&:email)
@group = group
@current_instructeur_email = current_instructeur_email
subject = "Suppression dun instructeur dans le groupe \"#{group.label}\""
emails = @group.instructeurs.map(&:email)
mail(bcc: emails, subject: subject)
end
def notify_removed_instructeur(group, removed_instructeur, current_instructeur_email)
@group = group
@current_instructeur_email = current_instructeur_email

View file

@ -1,10 +0,0 @@
%p= t(:hello, scope: [:views, :shared, :greetings])
%p
= t('.email_body', count: @removed_instructeur_emails.size, emails: @removed_instructeur_emails.join(', '), groupe: @group.label, email: @current_instructeur_email, procedure: @group.procedure.libelle)
%p
Cliquez sur le lien ci-dessous pour voir la liste des instructeurs de ce groupe :
= link_to(@group.label, admin_procedure_groupe_instructeur_url(@group.procedure, @group))
= render partial: "layouts/mailers/signature"

View file

@ -1,6 +0,0 @@
en:
groupe_instructeur_mailer:
notify_group_when_instructeurs_removed:
email_body:
one: "The instructor %{emails} was removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."
other: "The instructors %{emails} were removed from the group « %{groupe} » by « %{email} », in charge of procedure « %{procedure} »."

View file

@ -1,6 +0,0 @@
fr:
groupe_instructeur_mailer:
notify_group_when_instructeurs_removed:
email_body:
one: "Linstructeur %{emails} a été retiré du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."
other: "Les instructeurs %{emails} ont été retirés du groupe « %{groupe} » par « %{email} », en charge de la démarche « %{procedure} »."

View file

@ -1,26 +1,4 @@
RSpec.describe GroupeInstructeurMailer, type: :mailer do
describe '#notify_group_when_instructeurs_removed' do
let(:groupe_instructeur) do
gi = GroupeInstructeur.create(label: 'gi1', procedure: create(:procedure))
gi.instructeurs << create(:instructeur, email: 'int1@g')
gi.instructeurs << create(:instructeur, email: 'int2@g')
gi.instructeurs << instructeurs_to_remove
gi
end
let(:instructeur_3) { create(:instructeur, email: 'int3@g') }
let(:instructeur_4) { create(:instructeur, email: 'int4@g') }
let(:instructeurs_to_remove) { [instructeur_3, instructeur_4] }
let(:current_instructeur_email) { 'toto@email.com' }
subject { described_class.notify_group_when_instructeurs_removed(groupe_instructeur, instructeurs_to_remove, current_instructeur_email) }
before { instructeurs_to_remove.each { groupe_instructeur.remove(_1) } }
it { expect(subject.body).to include('Les instructeurs int3@g, int4@g ont été retirés du groupe') }
it { expect(subject.bcc).to match_array(['int1@g', 'int2@g']) }
end
describe '#notify_removed_instructeur' do
let(:procedure) { create(:procedure) }
let(:groupe_instructeur) do

View file

@ -1,12 +1,4 @@
class GroupeInstructeurMailerPreview < ActionMailer::Preview
def notify_group_when_instructeurs_removed
procedure = Procedure.new(id: 1, libelle: 'une superbe procedure')
groupe = GroupeInstructeur.new(id: 1, label: 'Val-De-Marne', procedure:)
current_instructeur_email = 'admin@dgfip.com'
instructeurs = Instructeur.limit(2)
GroupeInstructeurMailer.notify_group_when_instructeurs_removed(groupe, instructeurs, current_instructeur_email)
end
def notify_removed_instructeur
procedure = Procedure.new(id: 1, libelle: 'une superbe procedure')
groupe = GroupeInstructeur.new(id: 1, label: 'Val-De-Marne', procedure:)