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 end
def update_routing_enabled def update_routing_enabled
procedure.update!(routing_enabled: true) procedure.update!(routing_enabled_params)
redirect_to admin_procedure_groupe_instructeurs_path(procedure), 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 end
def update_instructeurs_self_management_enabled def update_instructeurs_self_management_enabled
@ -326,5 +326,9 @@ module NewAdministrateur
def instructeurs_self_management_enabled_params def instructeurs_self_management_enabled_params
params.require(:procedure).permit(:instructeurs_self_management_enabled) params.require(:procedure).permit(:instructeurs_self_management_enabled)
end end
def routing_enabled_params
{ routing_enabled: params.require(:routing) == 'enable' }
end
end end
end end

View file

@ -1,18 +1,23 @@
.card .card
.card-title Routage .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 .card-title.mt-4 Lautogestion des instructeurs
%p.notice= t('.self_managment_notice_html') %p.notice= t('.self_managment_notice_html')
= form_for procedure, = form_for procedure,
method: :patch, method: :patch,
url: update_instructeurs_self_management_enabled_admin_procedure_groupe_instructeurs_path(procedure), url: update_instructeurs_self_management_enabled_admin_procedure_groupe_instructeurs_path(procedure),
html: { class: 'form procedure-form__column--form no-background' } do |f| html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch %label.toggle-switch
= f.check_box :instructeurs_self_management_enabled, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()' = f.check_box :instructeurs_self_management_enabled, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%span.toggle-switch-control.round %span.toggle-switch-control.round
%span.toggle-switch-label.on %span.toggle-switch-label.on
%span.toggle-switch-label.off %span.toggle-switch-label.off

View file

@ -10,10 +10,11 @@
'Instructeurs'] } 'Instructeurs'] }
.container.groupe-instructeur .container.groupe-instructeur
= render partial: 'new_administrateur/groupe_instructeurs/routing', locals: { procedure: @procedure }
- if @procedure.routee? - if @procedure.routee?
= render partial: 'new_administrateur/groupe_instructeurs/edit', locals: { procedure: @procedure, groupes_instructeurs: @groupes_instructeurs } = render partial: 'new_administrateur/groupe_instructeurs/edit', locals: { procedure: @procedure, groupes_instructeurs: @groupes_instructeurs }
- else - else
= render partial: 'new_administrateur/groupe_instructeurs/routing', locals: { procedure: @procedure }
= render partial: 'new_administrateur/groupe_instructeurs/instructeurs', = render partial: 'new_administrateur/groupe_instructeurs/instructeurs',
locals: { procedure: @procedure, locals: { procedure: @procedure,
groupe_instructeur: @procedure.defaut_groupe_instructeur, 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. Lautogestion des instructeurs permet aux instructeurs de gérer eux-mêmes la liste des instructeurs de la démarche.
button: button:
routing_enable: Activer le routage routing_enable: Activer le routage
routing_disable: Désactiver le routage
self_managment_toggle: Activer lautogestion des instructeurs self_managment_toggle: Activer lautogestion des instructeurs