122 lines
5.4 KiB
Text
122 lines
5.4 KiB
Text
= render partial: 'administrateurs/breadcrumbs',
|
||
locals: { steps: [['Démarches', admin_procedures_path],
|
||
[@procedure.libelle.truncate_words(10), admin_procedure_path(@procedure)],
|
||
['Avis externes']] }
|
||
|
||
.fr-container
|
||
%h1.fr-h2
|
||
Avis externes
|
||
|
||
= render Dsfr::CalloutComponent.new(title: nil) do |c|
|
||
- c.with_body do
|
||
Pendant l'instruction d'un dossier, les instructeurs peuvent demander leur avis à un ou plusieurs experts.
|
||
%p
|
||
= link_to('Comment gérer les avis externes', t('.experts_doc.url'),
|
||
title: t('.experts_doc.title'),
|
||
**external_link_attributes)
|
||
|
||
%ul.fr-toggle__list
|
||
%li
|
||
= form_for @procedure,
|
||
method: :put,
|
||
url: allow_expert_review_admin_procedure_path(@procedure),
|
||
data: { controller: 'autosubmit', turbo: 'true' } do |f|
|
||
|
||
= render Dsfr::ToggleComponent.new(form: f,
|
||
target: :allow_expert_review,
|
||
title: t('.titles.allow_invite_experts'),
|
||
hint: t('.descriptions.allow_invite_experts'),
|
||
disabled: false,
|
||
extra_class_names: 'fr-toggle--border-bottom')
|
||
|
||
- if @procedure.allow_expert_review?
|
||
%li
|
||
= form_for @procedure,
|
||
method: :put,
|
||
url: allow_expert_messaging_admin_procedure_path(@procedure),
|
||
data: { controller: 'autosubmit', turbo: 'true' } do |f|
|
||
|
||
= render Dsfr::ToggleComponent.new(form: f,
|
||
target: :allow_expert_messaging,
|
||
title: t('.titles.allow_expert_messaging'),
|
||
hint: t('.descriptions.allow_expert_messaging'),
|
||
disabled: false,
|
||
extra_class_names: 'fr-toggle--border-bottom')
|
||
|
||
%li
|
||
= form_for @procedure,
|
||
method: :put,
|
||
url: experts_require_administrateur_invitation_admin_procedure_path(@procedure),
|
||
data: { controller: 'autosubmit', turbo: 'true' } do |f|
|
||
|
||
= render Dsfr::ToggleComponent.new(form: f,
|
||
target: :experts_require_administrateur_invitation,
|
||
title: t('.titles.manage_procedure_experts'),
|
||
hint: t('.descriptions.manage_procedure_experts'),
|
||
disabled: false)
|
||
|
||
|
||
- if @procedure.experts_require_administrateur_invitation?
|
||
.card
|
||
= render Procedure::InvitationWithTypoComponent.new(maybe_typos: @maybe_typos, url: admin_procedure_experts_path(@procedure), title: "Avant d'ajouter l'email à la liste d'expert prédéfinie, veuillez confirmer" )
|
||
= form_for :experts_procedure,
|
||
url: admin_procedure_experts_path(@procedure),
|
||
html: { class: 'form' } do |f|
|
||
|
||
.instructeur-wrapper
|
||
%p#experts-emails Entrez les adresses emails des experts que vous souhaitez ajouter à la liste prédéfinie
|
||
= hidden_field_tag :emails, nil
|
||
= react_component("ComboMultiple",
|
||
options: [],
|
||
selected: [], disabled: [],
|
||
group: '.instructeur-wrapper',
|
||
name: 'emails',
|
||
label: 'Emails',
|
||
describedby: 'experts-emails',
|
||
acceptNewValues: true)
|
||
|
||
= f.submit 'Ajouter à la liste', class: 'fr-btn'
|
||
|
||
- if @experts_procedure.present?
|
||
.fr-table.fr-table--no-caption.fr-table--layout-fixed.fr-mt-3w
|
||
%table
|
||
%thead
|
||
%tr
|
||
%th Liste des experts
|
||
%th Nombre d’avis
|
||
- if @procedure.experts_require_administrateur_invitation
|
||
%th Notifier des décisions sur les dossiers
|
||
- if @procedure.experts_require_administrateur_invitation
|
||
%th Action
|
||
%tbody
|
||
- @experts_procedure.each do |expert_procedure|
|
||
%tr
|
||
%td
|
||
= dsfr_icon('fr-icon-user-fill')
|
||
= expert_procedure.expert.email
|
||
%td.text-center
|
||
= expert_procedure.avis.count
|
||
- if @procedure.experts_require_administrateur_invitation
|
||
%td.text-center
|
||
= form_for expert_procedure,
|
||
url: admin_procedure_expert_path(id: expert_procedure),
|
||
method: :put,
|
||
data: { turbo: true },
|
||
html: { class: 'form procedure-form__column--form no-background' } do |f|
|
||
%label.toggle-switch{ data: { controller: 'autosubmit' } }
|
||
= f.check_box :allow_decision_access, class: 'toggle-switch-checkbox'
|
||
%span.toggle-switch-control.round
|
||
%span.toggle-switch-label.on
|
||
%span.toggle-switch-label.off
|
||
- if @procedure.experts_require_administrateur_invitation
|
||
%td.actions= button_to 'retirer',
|
||
admin_procedure_expert_path(id: expert_procedure, procedure: @procedure),
|
||
method: :delete,
|
||
data: { confirm: "Êtes-vous sûr de vouloir révoquer l'expert « #{expert_procedure.expert.email} » de la démarche #{expert_procedure.procedure.libelle} ? Les instructeurs ne pourront plus lui demander d’avis" },
|
||
class: 'fr-btn fr-btn--secondary'
|
||
- else
|
||
.blank-tab
|
||
%h2.empty-text Aucun expert invité pour le moment.
|
||
%p.empty-text-details Les instructeurs de cette démarche n’ont pas encore fait appel aux experts.
|
||
|
||
= render Procedure::FixedFooterComponent.new(procedure: @procedure)
|