feat(procedure.routing): allow admin to manage instructeur even when procedure has some routing

This commit is contained in:
Martin 2024-02-15 09:30:38 +01:00
parent 641a33e1e0
commit 5407011668
5 changed files with 45 additions and 15 deletions

View file

@ -12,8 +12,8 @@
= render Dsfr::ToggleComponent.new(form: f,
target: :instructeurs_self_management_enabled,
title: 'Autogestion des instructeurs',
hint: "Lautogestion des instructeurs permet aux instructeurs de gérer eux-mêmes la liste des instructeurs de la démarche.#{ ' Lorsque la démarche est routée, lautogestion est activée doffice et nest pas désactivable.' if @procedure.routing_enabled? }",
disabled: @procedure.routing_enabled?)
hint: "Lautogestion des instructeurs permet aux instructeurs de gérer eux-mêmes la liste des instructeurs de la démarche.#{ ' Lorsque la démarche est routée, lautogestion est activée doffice. A moins que votre démarche requiert une validation des instructeurs (ex: signer une clause de confidentialité), nous recommandons de laisser lautogestion des instructeurs activée.' if @procedure.routing_enabled? }",
disabled: false)
%p.fr-mt-2w Routage
%p.fr-mt-2w= t('.routing_configuration_notice_1')
%p.fr-icon-info-line.fr-hint-text{ aria: { hidden: true } }

View file

@ -34,10 +34,6 @@ module ProcedureHelper
procedure_auto_archive_date(procedure) + ' ' + procedure_auto_archive_time(procedure)
end
def can_manage_groupe_instructeurs?(procedure)
procedure.routing_enabled? && current_administrateur&.owns?(procedure)
end
def can_send_groupe_message?(procedure)
groupe_instructeur_on_procedure_ids = procedure.groupe_instructeurs.active.ids.sort
groupe_instructeur_on_instructeur_ids = current_instructeur.groupe_instructeurs.active.where(procedure: procedure).ids.sort

View file

@ -718,7 +718,7 @@ class Procedure < ApplicationRecord
end
def instructeurs_self_management?
routing_enabled? || instructeurs_self_management_enabled?
instructeurs_self_management_enabled?
end
def groupe_instructeurs_but_defaut

View file

@ -7,14 +7,15 @@
|
= link_to t('instructeurs.dossiers.header.banner.statistics'), stats_instructeur_procedure_path(procedure), class: 'header-link'
- if procedure.instructeurs_self_management?
- if current_administrateur&.owns?(procedure)
|
- if can_manage_groupe_instructeurs?(procedure)
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), admin_procedure_groupe_instructeurs_path(procedure), class: 'header-link'
- elsif procedure.routing_enabled?
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupes_path(procedure), class: 'header-link'
- else
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupe_path(procedure, procedure.defaut_groupe_instructeur), class: 'header-link'
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), admin_procedure_groupe_instructeurs_path(procedure), class: 'header-link'
- elsif procedure.instructeurs_self_management? && procedure.routing_enabled?
|
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupes_path(procedure), class: 'header-link'
- elsif procedure.instructeurs_self_management?
|
= link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupe_path(procedure, procedure.defaut_groupe_instructeur), class: 'header-link'
- if can_send_groupe_message?(procedure)
|