This commit is contained in:
kara Diaby 2021-04-16 11:13:47 +02:00
parent 881491c697
commit 6524b6bcb7
4 changed files with 94 additions and 81 deletions

View file

@ -1,4 +1,4 @@
- if @dossier.procedure.feature_enabled?(:admin_affect_experts_to_avis).blank? - if !@dossier.procedure.experts_require_administrateur_invitation?
%section.ask-avis %section.ask-avis
%h1.tab-title Inviter des personnes à donner leur avis %h1.tab-title Inviter des personnes à donner leur avis
%p.avis-notice Les invités pourront consulter le dossier, donner un avis et contribuer au fil de messagerie. Ils ne pourront pas modifier le dossier. %p.avis-notice Les invités pourront consulter le dossier, donner un avis et contribuer au fil de messagerie. Ils ne pourront pas modifier le dossier.

View file

@ -1,7 +1,7 @@
%section.ask-avis %section.ask-avis
%h1.tab-title Inviter des personnes à donner leur avis %h1.tab-title Inviter des personnes à donner leur avis
%p.avis-notice Les invités pourront consulter le dossier, donner un avis et contribuer au fil de messagerie. Ils ne pourront pas modifier le dossier. %p.avis-notice Les invités pourront consulter le dossier, donner un avis et contribuer au fil de messagerie. Ils ne pourront pas modifier le dossier.
- if @dossier.procedure.feature_enabled?(:admin_affect_experts_to_avis) - if @dossier.procedure.experts_require_administrateur_invitation
%p.avis-notice Choisissez des experts à qui vous souhaitez demander un avis parmi la liste prédéfinie par les administrateurs de la démarche %p.avis-notice Choisissez des experts à qui vous souhaitez demander un avis parmi la liste prédéfinie par les administrateurs de la démarche
- else - else
%p.avis-notice Entrez les adresses email des experts à qui vous souhaitez demander un avis %p.avis-notice Entrez les adresses email des experts à qui vous souhaitez demander un avis
@ -10,13 +10,13 @@
- hidden_field_id = SecureRandom.uuid - hidden_field_id = SecureRandom.uuid
= hidden_field_tag 'avis[emails]', nil, data: { uuid: hidden_field_id } = hidden_field_tag 'avis[emails]', nil, data: { uuid: hidden_field_id }
= react_component("ComboMultipleDropdownList", = react_component("ComboMultipleDropdownList",
options: @dossier.procedure.feature_enabled?(:admin_affect_experts_to_avis) ? @experts_emails : [], options: @dossier.procedure.experts_require_administrateur_invitation ? @experts_emails : [],
selected: [], selected: [],
disabled: [], disabled: [],
hiddenFieldId: hidden_field_id, hiddenFieldId: hidden_field_id,
label: 'avis_emails', label: 'avis_emails',
id: 'avis_emails', id: 'avis_emails',
acceptNewValues: @dossier.procedure.feature_enabled?(:admin_affect_experts_to_avis).blank?) acceptNewValues: !@dossier.procedure.experts_require_administrateur_invitation)
= f.text_area :introduction, rows: 3, value: avis.introduction || 'Bonjour, merci de me donner votre avis sur ce dossier.', required: true = f.text_area :introduction, rows: 3, value: avis.introduction || 'Bonjour, merci de me donner votre avis sur ce dossier.', required: true
%p.tab-title Ajouter une pièce jointe %p.tab-title Ajouter une pièce jointe
.form-group .form-group

View file

@ -9,59 +9,88 @@
.container.groupe-instructeur .container.groupe-instructeur
.card .card
.card-title Affecter des experts à la démarche .card-title Autoriser les instructeurs à solliciter des experts invités
= form_for :experts_procedure, %p.notice Si cette fonctionnalité est désactivée, les instructeurs ne pourront plus solliciter d'experts
url: admin_procedure_experts_path(@procedure), = form_for @procedure,
html: { class: 'form' } do |f| method: :put,
url: allow_expert_review_admin_procedure_path(@procedure),
html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch
= f.check_box :allow_expert_review, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%span.toggle-switch-control.round
%span.toggle-switch-label.on
%span.toggle-switch-label.off
.instructeur-wrapper - if @procedure.allow_expert_review?
%p.notice Pendant l'instruction d'un dossier, les instructeurs peuvent demander leur avis à un ou plusieurs experts. .card
%p.notice Entrez les adresses email des experts que vous souhaitez affecter à cette démarche .card-title Gérer les experts invités de la démarche
- hidden_field_id = SecureRandom.uuid %p.notice Si cette fonctionnalité est activée, les instructeurs pourront uniquement inviter les experts de votre liste
= hidden_field_tag :emails, nil, data: { uuid: hidden_field_id } = form_for @procedure,
= react_component("ComboMultipleDropdownList", method: :put,
options: [], url: experts_require_administrateur_invitation_admin_procedure_path(@procedure),
selected: [], disabled: [], html: { class: 'form procedure-form__column--form no-background' } do |f|
hiddenFieldId: hidden_field_id, %label.toggle-switch
label: 'email expert', = f.check_box :experts_require_administrateur_invitation, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
acceptNewValues: true) %span.toggle-switch-control.round
%span.toggle-switch-label.on
%span.toggle-switch-label.off
= f.submit 'Affecter à la démarche', class: 'button primary send' - if @procedure.experts_require_administrateur_invitation?
- if @experts_procedure.present? .card
%table.table.mt-2 .card-title Affecter des experts à la démarche
%thead = form_for :experts_procedure,
%tr url: admin_procedure_experts_path(@procedure),
%th Liste des experts html: { class: 'form' } do |f|
%th Nombre d'avis
- if @procedure.feature_enabled?(:admin_affect_experts_to_avis) .instructeur-wrapper
%th Notifier des décisions sur les dossiers %p.notice Pendant l'instruction d'un dossier, les instructeurs peuvent demander leur avis à un ou plusieurs experts.
%tbody %p.notice Entrez les adresses email des experts que vous souhaitez affecter à cette démarche
- @experts_procedure.each do |expert_procedure| - hidden_field_id = SecureRandom.uuid
%tr = hidden_field_tag :emails, nil, data: { uuid: hidden_field_id }
%td = react_component("ComboMultipleDropdownList",
%span.icon.person options: [],
= expert_procedure.expert.email selected: [], disabled: [],
%td.text-center hiddenFieldId: hidden_field_id,
= expert_procedure.avis.count label: 'email expert',
- if @procedure.feature_enabled?(:admin_affect_experts_to_avis) acceptNewValues: true)
%td.text-center
= form_for expert_procedure, = f.submit 'Affecter à la démarche', class: 'button primary send'
url: admin_procedure_expert_path(id: expert_procedure), - if @experts_procedure.present?
remote: true, %table.table.mt-2
method: :put, %thead
authenticity_token: true, %tr
html: { class: 'form procedure-form__column--form no-background' } do |f| %th Liste des experts
%label.toggle-switch %th Nombre d'avis
= f.check_box :allow_decision_access, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()' - if @procedure.experts_require_administrateur_invitation
%span.toggle-switch-control.round %th Notifier des décisions sur les dossiers
%span.toggle-switch-label.on %tbody
%span.toggle-switch-label.off - @experts_procedure.each do |expert_procedure|
%td.actions= button_to 'retirer', %tr
admin_procedure_expert_path(id: expert_procedure, procedure: @procedure), %td
method: :delete, %span.icon.person
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" }, = expert_procedure.expert.email
class: 'button' %td.text-center
- else = expert_procedure.avis.count
.blank-tab - if @procedure.experts_require_administrateur_invitation
%h2.empty-text Aucun expert invité pour le moment. %td.text-center
%p.empty-text-details Les instructeurs de cette démarche n'ont pas encore fait appel aux experts. = form_for expert_procedure,
url: admin_procedure_expert_path(id: expert_procedure),
remote: true,
method: :put,
authenticity_token: true,
html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch
= f.check_box :allow_decision_access, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%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: 'button'
- 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.

View file

@ -142,32 +142,16 @@
= link_to 'Modifier', edit_admin_procedure_attestation_template_path(@procedure), class: 'button' = link_to 'Modifier', edit_admin_procedure_attestation_template_path(@procedure), class: 'button'
.card-admin .card-admin
- if @procedure.allow_expert_review? %div
%div %span.icon.preview
%span.icon.accept %p.card-admin-status-todo À configurer
%p.card-admin-status-accept Activé
- else
%div
%span.icon.clock
%p.card-admin-status-todo Désactivée
%div %div
%p.card-admin-title Avis externes %p.card-admin-title Avis externes
%p.card-admin-subtitle Demander des avis aux experts invités %p.card-admin-subtitle Gérer les avis des experts invités
.card-admin-action .card-admin-action
= link_to "#{@procedure.allow_expert_review? ? 'Désactiver' : 'Activer'}", allow_expert_review_admin_procedure_path(@procedure), method: :put, class: 'button' = link_to "Modifier", admin_procedure_experts_path(@procedure), class: 'button'
- if @procedure.allow_expert_review?
.card-admin
%div
%span.icon.preview
%p.card-admin-status-todo À voir
%div
%p.card-admin-title Liste des experts
%p.card-admin-subtitle Liste des experts invités par les instructeurs
.card-admin-action
= link_to "Voir", admin_procedure_experts_path(@procedure), class: 'button'
.card-admin .card-admin