feat(routing): can change defaut groupe
This commit is contained in:
parent
95ab81fd1c
commit
b38470368b
5 changed files with 51 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue