Merge pull request #10048 from demarches-simplifiees/etq-admin-je-vois-les-messages-envoyes-aux-brouillons

ETQ instructeur je vois les messages envoyés aux usagers avec un dossier en brouillon
This commit is contained in:
Eric Leroy-Terquem 2024-03-01 13:27:36 +00:00 committed by GitHub
commit e94ae3498c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 15 additions and 5 deletions

View file

@ -258,7 +258,7 @@ module Instructeurs
def email_usagers
@procedure = procedure
@bulk_messages = BulkMessage.includes(:groupe_instructeurs).where(groupe_instructeurs: { procedure: procedure })
@bulk_messages = BulkMessage.where(procedure: procedure)
@bulk_message = current_instructeur.bulk_messages.build
@dossiers_without_groupe_count = procedure.dossiers.state_brouillon.for_groupe_instructeur(nil).count
end
@ -283,7 +283,8 @@ module Instructeurs
dossier_state: Dossier.states.fetch(:brouillon),
sent_at: Time.zone.now,
instructeur_id: current_instructeur.id,
groupe_instructeurs: GroupeInstructeur.for_dossiers(dossiers)
groupe_instructeurs: GroupeInstructeur.for_dossiers(dossiers),
procedure_id: @procedure.id
)
bulk_message.save!

View file

@ -1,4 +1,5 @@
class BulkMessage < ApplicationRecord
belongs_to :instructeur
belongs_to :procedure
has_and_belongs_to_many :groupe_instructeurs, -> { order(:label) }
end

View file

@ -33,5 +33,5 @@
.width-100
%h2.claimant
%span.email= message.instructeur.email
%span.date message envoyé à #{@dossiers_count} usagers le #{message.sent_at.strftime('%d/%m/%y à %H:%M')}
%span.date a envoyé ce message à #{@dossiers_without_groupe_count} usagers le #{message.sent_at.strftime('%d/%m/%y à %H:%M')}
%p= message.body

View file

@ -0,0 +1,5 @@
class AddProcedureIdToBulkMessages < ActiveRecord::Migration[7.0]
def change
add_column :bulk_messages, :procedure_id, :bigint
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.0].define(version: 2024_02_15_164247) do
ActiveRecord::Schema[7.0].define(version: 2024_02_27_163855) do
# These are extensions that must be enabled in order to support this database
enable_extension "pgcrypto"
enable_extension "plpgsql"
@ -224,6 +224,7 @@ ActiveRecord::Schema[7.0].define(version: 2024_02_15_164247) do
t.string "dossier_state"
t.bigint "instructeur_id", null: false
t.datetime "sent_at", precision: nil, null: false
t.bigint "procedure_id"
t.datetime "updated_at", null: false
end

View file

@ -183,7 +183,7 @@ describe Administrateurs::GroupeInstructeursController, type: :controller do
let!(:gi_1_3) { create(:groupe_instructeur, label: 'groupe instructeur 3', procedure: procedure) }
let!(:dossier12) { create(:dossier, :en_construction, :with_individual, procedure: procedure, groupe_instructeur: gi_1_1) }
let!(:instructeur) { create(:instructeur) }
let!(:bulk_message) { BulkMessage.create(dossier_count: 2, dossier_state: "brouillon", body: "hello", sent_at: Time.zone.now, groupe_instructeurs: [gi_1_1, gi_1_3], instructeur: instructeur) }
let!(:bulk_message) { BulkMessage.create(dossier_count: 2, dossier_state: "en_construction", body: "hello", sent_at: Time.zone.now, groupe_instructeurs: [gi_1_1, gi_1_3], instructeur: instructeur, procedure: procedure) }
describe 'when the new group is a group of the procedure' do
before do

View file

@ -704,6 +704,7 @@ describe Instructeurs::ProceduresController, type: :controller do
expect(BulkMessage.count).to eq(1)
expect(bulk_message.body).to eq("avant\napres")
expect(bulk_message.groupe_instructeurs).to be_empty
expect(bulk_message.procedure_id).to eq(procedure.id)
end
it "creates a flash notice" do

View file

@ -6,5 +6,6 @@ FactoryBot.define do
sent_at { 1.day.ago }
instructeur { association :instructeur }
groupe_instructeurs { [association(:groupe_instructeur, strategy: :build)] }
procedure { association :procedure }
end
end