From 603d66e020dd8815eaf77cdb195e84194a1497fb Mon Sep 17 00:00:00 2001 From: Lisa Durand Date: Fri, 10 Mar 2023 18:39:26 +0100 Subject: [PATCH] split form and avis answers in 2 views for instructeurs --- app/controllers/instructeurs/dossiers_controller.rb | 8 ++++++++ .../instructeurs/dossiers/_header_bottom.html.haml | 3 ++- app/views/instructeurs/dossiers/avis.html.haml | 5 ++++- app/views/instructeurs/dossiers/avis_new.html.haml | 12 ++++++++++++ config/routes.rb | 1 + 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 app/views/instructeurs/dossiers/avis_new.html.haml diff --git a/app/controllers/instructeurs/dossiers_controller.rb b/app/controllers/instructeurs/dossiers_controller.rb index f49532472..51c09e05b 100644 --- a/app/controllers/instructeurs/dossiers_controller.rb +++ b/app/controllers/instructeurs/dossiers_controller.rb @@ -76,6 +76,14 @@ module Instructeurs end end + def avis_new + @avis_seen_at = current_instructeur.follows.find_by(dossier: dossier)&.avis_seen_at + @avis = Avis.new + if @dossier.procedure.experts_require_administrateur_invitation? + @experts_emails = dossier.procedure.experts_procedures.where(revoked_at: nil).map(&:expert).map(&:email).sort + end + end + def personnes_impliquees @following_instructeurs_emails = dossier.followers_instructeurs.map(&:email) previous_followers = dossier.previous_followers_instructeurs - dossier.followers_instructeurs diff --git a/app/views/instructeurs/dossiers/_header_bottom.html.haml b/app/views/instructeurs/dossiers/_header_bottom.html.haml index 5b1493cef..793ae4c8f 100644 --- a/app/views/instructeurs/dossiers/_header_bottom.html.haml +++ b/app/views/instructeurs/dossiers/_header_bottom.html.haml @@ -12,7 +12,8 @@ notification: notifications_summary[:annotations_privees]) = dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.external_opinion'), - avis_instructeur_dossier_path(dossier.procedure, dossier), + [avis_instructeur_dossier_path(dossier.procedure, dossier), + avis_new_instructeur_dossier_path(dossier.procedure, dossier)], notification: notifications_summary[:avis]) = dynamic_tab_item(t('views.instructeurs.dossiers.tab_steps.messaging'), diff --git a/app/views/instructeurs/dossiers/avis.html.haml b/app/views/instructeurs/dossiers/avis.html.haml index c02565ff2..39879988f 100644 --- a/app/views/instructeurs/dossiers/avis.html.haml +++ b/app/views/instructeurs/dossiers/avis.html.haml @@ -5,7 +5,10 @@ .container - if !@dossier.termine? - if @dossier.procedure.allow_expert_review - = render partial: "instructeurs/avis/shared/form", locals: { url: avis_instructeur_dossier_path(@dossier.procedure, @dossier), linked_dossiers: @dossier.linked_dossiers_for(current_instructeur), must_be_confidentiel: false, avis: @avis } + - if @dossier.avis.present? + = link_to 'demander un nouvel avis', avis_new_instructeur_dossier_path(@dossier.procedure, @dossier), class: 'fr-btn fr-btn--sm pull-right' + - else + = render partial: "instructeurs/avis/shared/form", locals: { url: avis_instructeur_dossier_path(@dossier.procedure, @dossier), linked_dossiers: @dossier.linked_dossiers_for(current_instructeur), must_be_confidentiel: false, avis: @avis } - else %p Cette démarche n’autorise pas la demande d’avis à un expert. Veuillez contacter votre administrateur diff --git a/app/views/instructeurs/dossiers/avis_new.html.haml b/app/views/instructeurs/dossiers/avis_new.html.haml new file mode 100644 index 000000000..446b8286c --- /dev/null +++ b/app/views/instructeurs/dossiers/avis_new.html.haml @@ -0,0 +1,12 @@ +- content_for(:title, "Avis · Dossier nº #{@dossier.id} (#{@dossier.owner_name})") + += render partial: "header", locals: { dossier: @dossier } + +.container + - if !@dossier.termine? + - if @dossier.procedure.allow_expert_review + - if @dossier.avis.present? + = link_to '< retour aux avis', avis_instructeur_dossier_path(@dossier.procedure, @dossier), class: 'fr-link' + = render partial: "instructeurs/avis/shared/form", locals: { url: avis_instructeur_dossier_path(@dossier.procedure, @dossier), linked_dossiers: @dossier.linked_dossiers_for(current_instructeur), must_be_confidentiel: false, avis: @avis } + - else + %p Cette démarche n’autorise pas la demande d’avis à un expert. Veuillez contacter votre administrateur diff --git a/config/routes.rb b/config/routes.rb index ff4055da3..eccf61e3f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -424,6 +424,7 @@ Rails.application.routes.draw do get 'messagerie' get 'annotations-privees' => 'dossiers#annotations_privees' get 'avis' + get 'avis_new' get 'personnes-impliquees' => 'dossiers#personnes_impliquees' patch 'follow' patch 'unfollow'