feat(routing): add reaffecter_un_dossier
This commit is contained in:
parent
ce1429b850
commit
e7e702a574
4 changed files with 41 additions and 0 deletions
|
@ -331,6 +331,21 @@ module Instructeurs
|
|||
end
|
||||
end
|
||||
|
||||
def reaffecter_un_dossier
|
||||
dossier = current_instructeur.dossiers.find(params[:dossier_id])
|
||||
|
||||
new_group = dossier
|
||||
.procedure
|
||||
.groupe_instructeurs.find(params[:groupe_instructeur_id])
|
||||
|
||||
dossier.assign_to_groupe_instructeur(new_group)
|
||||
|
||||
dossier.update!(forced_groupe_instructeur: true)
|
||||
|
||||
flash.notice = t('instructeurs.dossiers.reaffectation', dossier_id: dossier.id, label: new_group.label)
|
||||
redirect_to instructeur_procedure_path(procedure)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def dossier_scope
|
||||
|
|
|
@ -785,6 +785,10 @@ fr:
|
|||
deleted_by_instructeur: "Le dossier a bien été supprimé de votre interface"
|
||||
impossible_deletion: "Supression impossible : le dossier n’est pas traité"
|
||||
restore: "Le dossier a bien été restauré"
|
||||
reaffectation: "Le dossier nº %{dossier_id} a été réaffecté au groupe d’instructeurs « %{label} »."
|
||||
existing_groupe:
|
||||
one: "%{count} groupe existe"
|
||||
other: "%{count} groupes existent"
|
||||
labels:
|
||||
to_follow: à suivre
|
||||
total: dossiers
|
||||
|
|
|
@ -450,6 +450,7 @@ Rails.application.routes.draw do
|
|||
post 'avis' => 'dossiers#create_avis'
|
||||
get 'print' => 'dossiers#print'
|
||||
get 'telecharger_pjs' => 'dossiers#telecharger_pjs'
|
||||
post 'reaffecter_un_dossier'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1151,4 +1151,25 @@ describe Instructeurs::DossiersController, type: :controller do
|
|||
it { expect(flash.alert).to eq("Votre action n'a pas été effectuée, ce dossier fait parti d'un traitement de masse.") }
|
||||
end
|
||||
end
|
||||
|
||||
describe '#reaffecter_un_dossier' do
|
||||
let!(:gi_2) { GroupeInstructeur.create(label: 'deuxième groupe', procedure: procedure) }
|
||||
let!(:dossier) { create(:dossier, :en_construction, procedure: procedure, groupe_instructeur: procedure.groupe_instructeurs.first) }
|
||||
|
||||
before do
|
||||
post :reaffecter,
|
||||
params: {
|
||||
procedure_id: procedure.id,
|
||||
dossier_id: dossier.id,
|
||||
groupe_instructeur_id: gi_2.id
|
||||
}
|
||||
end
|
||||
|
||||
it do
|
||||
expect(dossier.reload.groupe_instructeur.id).to eq(gi_2.id)
|
||||
expect(dossier.forced_groupe_instructeur).to be_truthy
|
||||
expect(response).to redirect_to(instructeur_procedure_path(procedure))
|
||||
expect(flash.notice).to eq("Le dossier nº #{dossier.id} a été réaffecté au groupe d’instructeurs « deuxième groupe ».")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue