diff --git a/app/controllers/new_administrateur/groupe_instructeurs_controller.rb b/app/controllers/new_administrateur/groupe_instructeurs_controller.rb index abb161874..594b6587e 100644 --- a/app/controllers/new_administrateur/groupe_instructeurs_controller.rb +++ b/app/controllers/new_administrateur/groupe_instructeurs_controller.rb @@ -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 diff --git a/app/views/new_administrateur/groupe_instructeurs/_routing.html.haml b/app/views/new_administrateur/groupe_instructeurs/_routing.html.haml index 8d01f9fa0..bea8c4c2e 100644 --- a/app/views/new_administrateur/groupe_instructeurs/_routing.html.haml +++ b/app/views/new_administrateur/groupe_instructeurs/_routing.html.haml @@ -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 L‘autogestion des instructeurs - %p.notice= t('.self_managment_notice_html') + .card-title.mt-4 L‘autogestion 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 diff --git a/app/views/new_administrateur/groupe_instructeurs/index.html.haml b/app/views/new_administrateur/groupe_instructeurs/index.html.haml index 1dc56c03d..0483de148 100644 --- a/app/views/new_administrateur/groupe_instructeurs/index.html.haml +++ b/app/views/new_administrateur/groupe_instructeurs/index.html.haml @@ -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, diff --git a/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml b/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml index 34605ddcb..57b15b066 100644 --- a/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml +++ b/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml @@ -43,4 +43,5 @@ fr: L’autogestion 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 l’autogestion des instructeurs