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:
commit
e94ae3498c
8 changed files with 15 additions and 5 deletions
|
@ -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!
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
class BulkMessage < ApplicationRecord
|
||||
belongs_to :instructeur
|
||||
belongs_to :procedure
|
||||
has_and_belongs_to_many :groupe_instructeurs, -> { order(:label) }
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddProcedureIdToBulkMessages < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
add_column :bulk_messages, :procedure_id, :bigint
|
||||
end
|
||||
end
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue