feat(routing): can change defaut groupe

This commit is contained in:
simon lehericey 2023-04-07 15:44:23 +02:00
parent 95ab81fd1c
commit b38470368b
5 changed files with 51 additions and 1 deletions

View file

@ -29,6 +29,10 @@
.value {
width: 200px;
select {
width: 100%;
}
}
}
@ -56,4 +60,13 @@
border-color: $dark-red;
}
}
.form.defaut-groupe {
padding: $default-spacer;
label {
width: 600px;
font-size: 16px;
}
}
}

View file

@ -28,5 +28,14 @@
%td.target= targeted_champ_tag(targeted_champ, row_index)
%td.operator est égal à
%td.value= value_tag(targeted_champ, value, row_index)
= form_tag admin_procedure_update_defaut_groupe_instructeur_path,
class: 'form flex align-baseline defaut-groupe',
data: { controller: 'autosave' } do
= label_tag :defaut_groupe_instructeur_id, 'Et si aucune règle ne correspond, router vers :'
= select_tag :defaut_groupe_instructeur_id,
options_for_select(@groupe_instructeurs.pluck(:label, :id), selected: @revision.procedure.defaut_groupe_instructeur.id),
class: 'width-100'
- else
.notice= t('.routing_rules_warning_html', path: champs_admin_procedure_path(@procedure_id))

View file

@ -12,6 +12,11 @@ module Administrateurs
groupe_instructeur.update!(routing_rule: ds_eq(left, right))
end
def update_defaut_groupe_instructeur
new_defaut = @procedure.groupe_instructeurs.find(defaut_groupe_instructeur_id)
@procedure.update!(defaut_groupe_instructeur: new_defaut)
end
private
def targeted_champ_changed?
@ -34,8 +39,12 @@ module Administrateurs
routing_params[:groupe_instructeur_id]
end
def defaut_groupe_instructeur_id
routing_params[:defaut_groupe_instructeur_id]
end
def routing_params
params.permit(:targeted_champ, :value, :groupe_instructeur_id)
params.permit(:targeted_champ, :value, :groupe_instructeur_id, :defaut_groupe_instructeur_id)
end
end
end

View file

@ -506,6 +506,7 @@ Rails.application.routes.draw do
end
patch :update, controller: 'routing', as: :routing_rules
patch :update_defaut_groupe_instructeur, controller: 'routing', as: :update_defaut_groupe_instructeur
put 'clone'
put 'archive'

View file

@ -49,4 +49,22 @@ describe Administrateurs::RoutingController, type: :controller do
end
end
end
describe "#update_defaut_groupe_instructeur" do
let(:procedure) { create(:procedure) }
let(:gi_2) { procedure.groupe_instructeurs.create(label: 'groupe 2') }
let(:params) do
{
procedure_id: procedure.id,
defaut_groupe_instructeur_id: gi_2.id
}
end
before do
post :update_defaut_groupe_instructeur, params: params, format: :turbo_stream
procedure.reload
end
it { expect(procedure.defaut_groupe_instructeur.id).to eq(gi_2.id) }
end
end