From f6c4986e86d4e0f873eae61a5030e236e8747e13 Mon Sep 17 00:00:00 2001 From: Eric Leroy-Terquem Date: Thu, 2 Mar 2023 09:33:16 +0100 Subject: [PATCH] feat(groupe instructeur mailer): do not notify group when instructeurs removed --- .../groupe_instructeurs_controller.rb | 4 ---- .../groupe_instructeurs_controller.rb | 4 ---- ...oupe_instructeur_supprimer_instructeurs.rb | 7 ------ app/mailers/groupe_instructeur_mailer.rb | 11 ---------- ..._group_when_instructeurs_removed.html.haml | 10 --------- .../en.yml | 6 ----- .../fr.yml | 6 ----- .../mailers/groupe_instructeur_mailer_spec.rb | 22 ------------------- .../groupe_instructeur_mailer_preview.rb | 8 ------- 9 files changed, 78 deletions(-) delete mode 100644 app/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed.html.haml delete mode 100644 config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/en.yml delete mode 100644 config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/fr.yml diff --git a/app/controllers/administrateurs/groupe_instructeurs_controller.rb b/app/controllers/administrateurs/groupe_instructeurs_controller.rb index 07ffe53f8..ddad8b943 100644 --- a/app/controllers/administrateurs/groupe_instructeurs_controller.rb +++ b/app/controllers/administrateurs/groupe_instructeurs_controller.rb @@ -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? diff --git a/app/controllers/instructeurs/groupe_instructeurs_controller.rb b/app/controllers/instructeurs/groupe_instructeurs_controller.rb index 398cb35ba..08dd61ee8 100644 --- a/app/controllers/instructeurs/groupe_instructeurs_controller.rb +++ b/app/controllers/instructeurs/groupe_instructeurs_controller.rb @@ -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] = "L’instructeur « #{instructeur.email} » n’est pas dans le groupe." end diff --git a/app/graphql/mutations/groupe_instructeur_supprimer_instructeurs.rb b/app/graphql/mutations/groupe_instructeur_supprimer_instructeurs.rb index 0c1b1617d..0c14d16cc 100644 --- a/app/graphql/mutations/groupe_instructeur_supprimer_instructeurs.rb +++ b/app/graphql/mutations/groupe_instructeur_supprimer_instructeurs.rb @@ -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 diff --git a/app/mailers/groupe_instructeur_mailer.rb b/app/mailers/groupe_instructeur_mailer.rb index f28fd5ca5..eb0c6ceb8 100644 --- a/app/mailers/groupe_instructeur_mailer.rb +++ b/app/mailers/groupe_instructeur_mailer.rb @@ -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 d’un 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 diff --git a/app/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed.html.haml b/app/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed.html.haml deleted file mode 100644 index 1c3ccf1e1..000000000 --- a/app/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed.html.haml +++ /dev/null @@ -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" diff --git a/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/en.yml b/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/en.yml deleted file mode 100644 index d5192fdec..000000000 --- a/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/en.yml +++ /dev/null @@ -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} »." diff --git a/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/fr.yml b/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/fr.yml deleted file mode 100644 index a1e3e00de..000000000 --- a/config/locales/views/groupe_instructeur_mailer/notify_group_when_instructeurs_removed/fr.yml +++ /dev/null @@ -1,6 +0,0 @@ -fr: - groupe_instructeur_mailer: - notify_group_when_instructeurs_removed: - email_body: - one: "L’instructeur %{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} »." diff --git a/spec/mailers/groupe_instructeur_mailer_spec.rb b/spec/mailers/groupe_instructeur_mailer_spec.rb index 73a1abaa9..44868eece 100644 --- a/spec/mailers/groupe_instructeur_mailer_spec.rb +++ b/spec/mailers/groupe_instructeur_mailer_spec.rb @@ -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 diff --git a/spec/mailers/previews/groupe_instructeur_mailer_preview.rb b/spec/mailers/previews/groupe_instructeur_mailer_preview.rb index d423b0b25..c6cda35de 100644 --- a/spec/mailers/previews/groupe_instructeur_mailer_preview.rb +++ b/spec/mailers/previews/groupe_instructeur_mailer_preview.rb @@ -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:)