instructeurs: alias instructeur.email

This also means we need to replace instances of `pluck` on the email
column.
This commit is contained in:
Pierre de La Morinerie 2019-10-15 16:32:18 +00:00
parent cd478b489e
commit a462edb9bc
10 changed files with 15 additions and 11 deletions

View file

@ -44,9 +44,9 @@ module Instructeurs
end end
def personnes_impliquees def personnes_impliquees
@following_instructeurs_emails = dossier.followers_instructeurs.pluck(:email) @following_instructeurs_emails = dossier.followers_instructeurs.map(&:email)
previous_followers = dossier.previous_followers_instructeurs - dossier.followers_instructeurs previous_followers = dossier.previous_followers_instructeurs - dossier.followers_instructeurs
@previous_following_instructeurs_emails = previous_followers.pluck(:email) @previous_following_instructeurs_emails = previous_followers.map(&:email)
@avis_emails = dossier.avis.includes(:instructeur).map(&:email_to_display) @avis_emails = dossier.avis.includes(:instructeur).map(&:email_to_display)
@invites_emails = dossier.invites.map(&:email) @invites_emails = dossier.invites.map(&:email)
@potential_recipients = dossier.groupe_instructeur.instructeurs.reject { |g| g == current_instructeur } @potential_recipients = dossier.groupe_instructeur.instructeurs.reject { |g| g == current_instructeur }

View file

@ -8,7 +8,7 @@ class GroupeInstructeurMailer < ApplicationMailer
subject = "Ajout dun instructeur dans le groupe \"#{group.label}\"" subject = "Ajout dun instructeur dans le groupe \"#{group.label}\""
emails = @group.instructeurs.pluck(:email) emails = @group.instructeurs.map(&:email)
mail(bcc: emails, subject: subject) mail(bcc: emails, subject: subject)
end end
@ -19,7 +19,7 @@ class GroupeInstructeurMailer < ApplicationMailer
subject = "Suppression dun instructeur dans le groupe \"#{group.label}\"" subject = "Suppression dun instructeur dans le groupe \"#{group.label}\""
emails = @group.instructeurs.pluck(:email) emails = @group.instructeurs.map(&:email)
mail(bcc: emails, subject: subject) mail(bcc: emails, subject: subject)
end end
end end

View file

@ -365,7 +365,7 @@ class Dossier < ApplicationRecord
update(hidden_at: deleted_dossier.deleted_at) update(hidden_at: deleted_dossier.deleted_at)
if en_construction? if en_construction?
administration_emails = followers_instructeurs.present? ? followers_instructeurs.pluck(:email) : procedure.administrateurs.pluck(:email) administration_emails = followers_instructeurs.present? ? followers_instructeurs.map(&:email) : procedure.administrateurs.pluck(:email)
administration_emails.each do |email| administration_emails.each do |email|
DossierMailer.notify_deletion_to_administration(deleted_dossier, email).deliver_later DossierMailer.notify_deletion_to_administration(deleted_dossier, email).deliver_later
end end

View file

@ -28,6 +28,10 @@ class Instructeur < ApplicationRecord
Instructeur.eager_load(:user).find_by(users: { email: email }) Instructeur.eager_load(:user).find_by(users: { email: email })
end end
def email
user.email
end
def follow(dossier) def follow(dossier)
begin begin
followed_dossiers << dossier followed_dossiers << dossier

View file

@ -94,7 +94,7 @@ class DossierSerializer < ActiveModel::Serializer
end end
def instructeurs def instructeurs
object.followers_instructeurs.pluck(:email) object.followers_instructeurs.map(&:email)
end end
def created_at def created_at

View file

@ -50,7 +50,7 @@ describe Instructeurs::GroupeInstructeursController, type: :controller do
context 'of a new instructeur' do context 'of a new instructeur' do
let(:new_instructeur_email) { 'new_instructeur@mail.com' } let(:new_instructeur_email) { 'new_instructeur@mail.com' }
it { expect(gi_1_2.instructeurs.pluck(:email)).to include(new_instructeur_email) } it { expect(gi_1_2.instructeurs.map(&:email)).to include(new_instructeur_email) }
it { expect(flash.notice).to be_present } it { expect(flash.notice).to be_present }
it { expect(response).to redirect_to(instructeur_groupe_path(procedure, gi_1_2)) } it { expect(response).to redirect_to(instructeur_groupe_path(procedure, gi_1_2)) }
end end

View file

@ -100,7 +100,7 @@ describe NewAdministrateur::GroupeInstructeursController, type: :controller do
context 'of a new instructeur' do context 'of a new instructeur' do
let(:new_instructeur_email) { 'new_instructeur@mail.com' } let(:new_instructeur_email) { 'new_instructeur@mail.com' }
it { expect(gi_1_1.instructeurs.pluck(:email)).to include(new_instructeur_email) } it { expect(gi_1_1.instructeurs.map(&:email)).to include(new_instructeur_email) }
it { expect(flash.notice).to be_present } it { expect(flash.notice).to be_present }
it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, gi_1_1)) } it { expect(response).to redirect_to(procedure_groupe_instructeur_path(procedure, gi_1_1)) }
end end

View file

@ -401,7 +401,7 @@ describe Procedure do
subject { @procedure } subject { @procedure }
it { expect(subject.parent_procedure).to eq(procedure) } it { expect(subject.parent_procedure).to eq(procedure) }
it { expect(subject.defaut_groupe_instructeur.instructeurs.pluck(:email)).to eq([administrateur.email]) } it { expect(subject.defaut_groupe_instructeur.instructeurs.map(&:email)).to eq([administrateur.email]) }
it 'should duplicate specific objects with different id' do it 'should duplicate specific objects with different id' do
expect(subject.id).not_to eq(procedure.id) expect(subject.id).not_to eq(procedure.id)

View file

@ -9,7 +9,7 @@ describe 'admin/assigns/show.html.haml', type: :view do
before do before do
assign(:procedure, procedure) assign(:procedure, procedure)
assign(:instructeur, Instructeur.new) assign(:instructeur, create(:instructeur))
assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign, assign(:instructeurs_assign, (smart_listing_create :instructeurs_assign,
assign_instructeurs, assign_instructeurs,

View file

@ -8,7 +8,7 @@ describe 'admin/instructeurs/index.html.haml', type: :view do
admin.instructeurs, admin.instructeurs,
partial: "admin/instructeurs/list", partial: "admin/instructeurs/list",
array: true)) array: true))
assign(:instructeur, Instructeur.new()) assign(:instructeur, create(:instructeur))
end end
context 'Aucun instructeur' do context 'Aucun instructeur' do