feat(DossierAssignment): add reaffectations to presonnes impliquees view

This commit is contained in:
Eric Leroy-Terquem 2023-06-30 15:27:38 +02:00 committed by Paul Chavard
parent ac2043e920
commit f619fdfb19
4 changed files with 43 additions and 1 deletions

View file

@ -19,4 +19,5 @@ class DossierAssignment < ApplicationRecord
auto: 'auto',
manual: 'manual'
}
scope :manual, -> { where(mode: :manual) }
end

View file

@ -0,0 +1,10 @@
.tab-title Réaffectations
- if manual_assignments.any?
%ul.tab-list
- manual_assignments.each do |assignment|
%li
- assigned_at = l(assignment.assigned_at, format: '%d %B %Y à %R')
= "Le #{assigned_at}, #{assignment.assigned_by} a réaffecté le dossier #{assignment.dossier_id} du groupe #{assignment.previous_groupe_instructeur_id} au groupe #{assignment.groupe_instructeur_id}"
- else
%p.tab-paragraph Ce dossier n'a pas été réaffecté

View file

@ -16,6 +16,7 @@
= render partial: 'instructeurs/dossiers/decisions_rendues_block', locals: { traitements: @dossier.traitements }
= render partial: 'instructeurs/dossiers/reaffectations_block', locals: { manual_assignments: @dossier.dossier_assignments.manual }
- if @dossier.archived? && @dossier.archived_at.present?
= render partial: 'instructeurs/dossiers/archived_block', locals: @dossier.slice(:archived_by, :archived_at)

View file

@ -1217,4 +1217,34 @@ describe Instructeurs::DossiersController, type: :controller do
expect(flash.notice).to eq("Le dossier nº #{dossier.id} a été réaffecté au groupe dinstructeurs « deuxième groupe ».")
end
end
describe '#personnes_impliquees' do
let!(:gi_1) { procedure.groupe_instructeurs.first }
let!(:gi_2) { GroupeInstructeur.create(label: 'deuxième groupe', procedure: procedure) }
let!(:dossier) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: gi_1) }
let!(:new_instructeur) { create(:instructeur) }
before do
gi_1.instructeurs << new_instructeur
gi_2.instructeurs << instructeur
new_instructeur.followed_dossiers << dossier
dossier.assign_to_groupe_instructeur(gi_2)
dossier.create_assignment(
DossierAssignment.modes.fetch(:manual),
gi_1,
gi_2,
new_instructeur.email
)
get :personnes_impliquees,
params: {
procedure_id: procedure.id,
dossier_id: dossier.id
}
end
it do
expect(response.body).to include('a réaffecté ce dossier du groupe « défaut » au groupe « deuxième groupe »')
end
end
end