Skip to content

Commit

Permalink
fix: admin is redirected to admin groupe instructeur page
Browse files Browse the repository at this point in the history
after creating or editing groupe instructeur service
  • Loading branch information
krichtof committed Sep 6, 2023
1 parent ee5f19d commit 2c60f2f
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ def create
assign_procedure_and_groupe_instructeur
@service = @groupe_instructeur.build_groupe_instructeur_service(service_params)
if @service.save
redirect_to instructeur_groupe_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été créé"
if params[:from_admin] == "true"
redirect_to admin_procedure_groupe_instructeur_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été créé"
else
redirect_to instructeur_groupe_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été créé"
end
else
flash[:alert] = @service.errors.full_messages
render :new
Expand All @@ -25,7 +29,11 @@ def update
assign_procedure_and_groupe_instructeur
@service = @groupe_instructeur.groupe_instructeur_service
if @service.update(service_params)
redirect_to instructeur_groupe_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été modifié"
if params[:from_admin] == "true"
redirect_to admin_procedure_groupe_instructeur_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été modifié"
else
redirect_to instructeur_groupe_path(@groupe_instructeur, procedure_id: @procedure.id), notice: "Le service #{@service.nom} a bien été modifié"
end
else
flash[:alert] = @service.errors.full_messages
render :edit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
= "Le groupe #{groupe_instructeur.label} n'a pas de service associé. Les informations de contact affichées à l'usager seront celles du service de la procédure"
%p.mt-3
- if groupe_instructeur.instructeurs.include?(current_administrateur.user.instructeur)
= link_to "+ Nouveau service", new_instructeur_groupe_groupe_instructeur_service_path(procedure_id: procedure.id, groupe_id: groupe_instructeur.id), class: "fr-btn"
= link_to "+ Nouveau service", new_instructeur_groupe_groupe_instructeur_service_path(procedure_id: procedure.id, groupe_id: groupe_instructeur.id, from_admin: true), class: "fr-btn"
- else
Si vous souhaitez créer un service pour ce groupe, vous devez faire partie du groupe instructeur
- else
%p.mt-3
- if groupe_instructeur.instructeurs.include?(current_administrateur.user.instructeur)
= link_to "Modifier le service #{service.nom}", edit_instructeur_groupe_groupe_instructeur_service_path(procedure_id: procedure.id, groupe_id: groupe_instructeur.id), class: "fr-btn"
= link_to "Modifier le service #{service.nom}", edit_instructeur_groupe_groupe_instructeur_service_path(procedure_id: procedure.id, groupe_id: groupe_instructeur.id, from_admin: true), class: "fr-btn"
- else
Si vous souhaitez modifier ce service, vous devez faire partie du groupe instructeur
%p.mt-3= "#{service.nom}, #{service.organisme}"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
= form_with url: instructeur_groupe_groupe_instructeur_service_path, model: @service, local: true do |f|
= hidden_field_tag :from_admin, params[:from_admin]

= render Dsfr::InputComponent.new(form: f, attribute: :nom, input_type: :text_field)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
let(:procedure) { create(:procedure) }
let(:assign_to) { create(:assign_to, instructeur: instructeur, groupe_instructeur: build(:groupe_instructeur, procedure: procedure)) }
let(:gi) { assign_to.groupe_instructeur }
let(:from_admin) { nil }

before do
sign_in(instructeur.user)
Expand All @@ -23,7 +24,8 @@
siret: "35600082800018"
},
procedure_id: procedure.id,
groupe_id: gi.id
groupe_id: gi.id,
from_admin: from_admin
}
end

Expand All @@ -39,6 +41,15 @@
expect(GroupeInstructeurService.last.horaires).to eq('horaires')
expect(GroupeInstructeurService.last.adresse).to eq('adresse')
expect(GroupeInstructeurService.last.siret).to eq('35600082800018')
expect(response).to redirect_to(instructeur_groupe_path(gi, procedure_id: procedure.id))
end

context 'from admin' do
let(:from_admin) { true }
it do
post :create, params: params
expect(response).to redirect_to(admin_procedure_groupe_instructeur_path(gi, procedure_id: procedure.id))
end
end
end

Expand Down Expand Up @@ -77,7 +88,8 @@
id: service.id,
groupe_instructeur_service: service_params,
procedure_id: procedure.id,
groupe_id: gi.id
groupe_id: gi.id,
from_admin: from_admin
}
}

Expand All @@ -93,6 +105,11 @@
it { expect(response).to redirect_to(instructeur_groupe_path(gi, procedure_id: procedure.id)) }
end

context 'when updating a service as an admin' do
let(:from_admin) { true }
it { expect(response).to redirect_to(admin_procedure_groupe_instructeur_path(gi, procedure_id: procedure.id)) }
end

context 'when updating a service with invalid data' do
let(:service_params) { { nom: '', type_organisme: GroupeInstructeurService.type_organismes.fetch(:association) } }

Expand Down

0 comments on commit 2c60f2f

Please sign in to comment.