feat(routage): administrateur can disable routage

fix #6627
This commit is contained in:
Paul Chavard 2021-11-11 13:25:47 +01:00
parent a46dd59f3f
commit 7914775809
4 changed files with 27 additions and 16 deletions

View file

@ -190,10 +190,10 @@ module NewAdministrateur
end
def update_routing_enabled
procedure.update!(routing_enabled: true)
procedure.update!(routing_enabled_params)
redirect_to admin_procedure_groupe_instructeurs_path(procedure),
notice: "Le routage est activé."
notice: "Le routage est #{procedure.routing_enabled? ? "activée" : "désactivée"}."
end
def update_instructeurs_self_management_enabled
@ -326,5 +326,9 @@ module NewAdministrateur
def instructeurs_self_management_enabled_params
params.require(:procedure).permit(:instructeurs_self_management_enabled)
end
def routing_enabled_params
{ routing_enabled: params.require(:routing) == 'enable' }
end
end
end

View file

@ -1,18 +1,23 @@
.card
.card-title Routage
%p.notice= t('.notice_html')
- if !procedure.routee?
%p.notice= t('.notice_html')
= link_to t('.button.routing_enable'), update_routing_enabled_admin_procedure_groupe_instructeurs_path(procedure), class: 'button primary mt-1', method: 'patch'
- if procedure.routee?
- if procedure.routing_enabled? && procedure.groupe_instructeurs.size == 1
= link_to t('.button.routing_disable'), update_routing_enabled_admin_procedure_groupe_instructeurs_path(procedure, routing: :disable), class: 'button primary mt-1', method: 'patch'
- else
= link_to t('.button.routing_enable'), update_routing_enabled_admin_procedure_groupe_instructeurs_path(procedure, routing: :enable), class: 'button primary mt-1', method: 'patch'
.card-title.mt-4 Lautogestion des instructeurs
%p.notice= t('.self_managment_notice_html')
.card-title.mt-4 Lautogestion des instructeurs
%p.notice= t('.self_managment_notice_html')
= form_for procedure,
method: :patch,
url: update_instructeurs_self_management_enabled_admin_procedure_groupe_instructeurs_path(procedure),
html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch
= f.check_box :instructeurs_self_management_enabled, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%span.toggle-switch-control.round
%span.toggle-switch-label.on
%span.toggle-switch-label.off
= form_for procedure,
method: :patch,
url: update_instructeurs_self_management_enabled_admin_procedure_groupe_instructeurs_path(procedure),
html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch
= f.check_box :instructeurs_self_management_enabled, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%span.toggle-switch-control.round
%span.toggle-switch-label.on
%span.toggle-switch-label.off

View file

@ -10,10 +10,11 @@
'Instructeurs'] }
.container.groupe-instructeur
= render partial: 'new_administrateur/groupe_instructeurs/routing', locals: { procedure: @procedure }
- if @procedure.routee?
= render partial: 'new_administrateur/groupe_instructeurs/edit', locals: { procedure: @procedure, groupes_instructeurs: @groupes_instructeurs }
- else
= render partial: 'new_administrateur/groupe_instructeurs/routing', locals: { procedure: @procedure }
= render partial: 'new_administrateur/groupe_instructeurs/instructeurs',
locals: { procedure: @procedure,
groupe_instructeur: @procedure.defaut_groupe_instructeur,

View file

@ -43,4 +43,5 @@ fr:
Lautogestion des instructeurs permet aux instructeurs de gérer eux-mêmes la liste des instructeurs de la démarche.
button:
routing_enable: Activer le routage
routing_disable: Désactiver le routage
self_managment_toggle: Activer lautogestion des instructeurs