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
%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.

View file

@ -1,7 +1,7 @@
%section.ask-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.
- 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
- else
%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_tag 'avis[emails]', nil, data: { uuid: hidden_field_id }
= 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: [],
disabled: [],
hiddenFieldId: hidden_field_id,
label: '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
%p.tab-title Ajouter une pièce jointe
.form-group

View file

@ -9,59 +9,88 @@
.container.groupe-instructeur
.card
.card-title Affecter des experts à la démarche
= form_for :experts_procedure,
url: admin_procedure_experts_path(@procedure),
html: { class: 'form' } do |f|
.card-title Autoriser les instructeurs à solliciter des experts invités
%p.notice Si cette fonctionnalité est désactivée, les instructeurs ne pourront plus solliciter d'experts
= form_for @procedure,
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
%p.notice Pendant l'instruction d'un dossier, les instructeurs peuvent demander leur avis à un ou plusieurs experts.
%p.notice Entrez les adresses email des experts que vous souhaitez affecter à cette démarche
- hidden_field_id = SecureRandom.uuid
= hidden_field_tag :emails, nil, data: { uuid: hidden_field_id }
= react_component("ComboMultipleDropdownList",
options: [],
selected: [], disabled: [],
hiddenFieldId: hidden_field_id,
label: 'email expert',
acceptNewValues: true)
- if @procedure.allow_expert_review?
.card
.card-title Gérer les experts invités de la démarche
%p.notice Si cette fonctionnalité est activée, les instructeurs pourront uniquement inviter les experts de votre liste
= form_for @procedure,
method: :put,
url: experts_require_administrateur_invitation_admin_procedure_path(@procedure),
html: { class: 'form procedure-form__column--form no-background' } do |f|
%label.toggle-switch
= f.check_box :experts_require_administrateur_invitation, class: 'toggle-switch-checkbox', onchange: 'this.form.submit()'
%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 @experts_procedure.present?
%table.table.mt-2
%thead
%tr
%th Liste des experts
%th Nombre d'avis
- if @procedure.feature_enabled?(:admin_affect_experts_to_avis)
%th Notifier des décisions sur les dossiers
%tbody
- @experts_procedure.each do |expert_procedure|
%tr
%td
%span.icon.person
= expert_procedure.expert.email
%td.text-center
= expert_procedure.avis.count
- if @procedure.feature_enabled?(:admin_affect_experts_to_avis)
%td.text-center
= 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
%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.
- if @procedure.experts_require_administrateur_invitation?
.card
.card-title Affecter des experts à la démarche
= form_for :experts_procedure,
url: admin_procedure_experts_path(@procedure),
html: { class: 'form' } do |f|
.instructeur-wrapper
%p.notice Pendant l'instruction d'un dossier, les instructeurs peuvent demander leur avis à un ou plusieurs experts.
%p.notice Entrez les adresses email des experts que vous souhaitez affecter à cette démarche
- hidden_field_id = SecureRandom.uuid
= hidden_field_tag :emails, nil, data: { uuid: hidden_field_id }
= react_component("ComboMultipleDropdownList",
options: [],
selected: [], disabled: [],
hiddenFieldId: hidden_field_id,
label: 'email expert',
acceptNewValues: true)
= f.submit 'Affecter à la démarche', class: 'button primary send'
- if @experts_procedure.present?
%table.table.mt-2
%thead
%tr
%th Liste des experts
%th Nombre d'avis
- if @procedure.experts_require_administrateur_invitation
%th Notifier des décisions sur les dossiers
%tbody
- @experts_procedure.each do |expert_procedure|
%tr
%td
%span.icon.person
= 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),
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'
.card-admin
- if @procedure.allow_expert_review?
%div
%span.icon.accept
%p.card-admin-status-accept Activé
- else
%div
%span.icon.clock
%p.card-admin-status-todo Désactivée
%div
%span.icon.preview
%p.card-admin-status-todo À configurer
%div
%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
= link_to "#{@procedure.allow_expert_review? ? 'Désactiver' : 'Activer'}", allow_expert_review_admin_procedure_path(@procedure), method: :put, 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'
= link_to "Modifier", admin_procedure_experts_path(@procedure), class: 'button'
.card-admin