From 29e2d3d7eb239ba071658fe971d4c8b63fb01c1f Mon Sep 17 00:00:00 2001 From: Christophe Robillard Date: Wed, 24 Jun 2020 22:25:10 +0200 Subject: [PATCH] display all avis for a procedure for an expert --- .../instructeurs/avis_controller.rb | 3 +- app/views/instructeurs/avis/_header.html.haml | 3 +- app/views/instructeurs/avis/index.html.haml | 34 +++++++++++-------- .../instructeurs/avis_controller_spec.rb | 10 +++--- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/app/controllers/instructeurs/avis_controller.rb b/app/controllers/instructeurs/avis_controller.rb index 15a12cb32..98735f751 100644 --- a/app/controllers/instructeurs/avis_controller.rb +++ b/app/controllers/instructeurs/avis_controller.rb @@ -11,7 +11,8 @@ module Instructeurs DONNES_STATUS = 'donnes' def index - instructeur_avis = current_instructeur.avis.includes(dossier: [:procedure, :user]) + @procedure = Procedure.find(params[:procedure_id]) + instructeur_avis = current_instructeur.avis.includes(:dossier).where(dossiers: { groupe_instructeur: GroupeInstructeur.where(procedure: @procedure.id) }) @avis_a_donner = instructeur_avis.without_answer @avis_donnes = instructeur_avis.with_answer diff --git a/app/views/instructeurs/avis/_header.html.haml b/app/views/instructeurs/avis/_header.html.haml index 85830909c..59458b904 100644 --- a/app/views/instructeurs/avis/_header.html.haml +++ b/app/views/instructeurs/avis/_header.html.haml @@ -2,7 +2,8 @@ .container %ul.breadcrumbs %li= link_to('Avis', instructeur_all_avis_path) - %li= "#{dossier.procedure.libelle}, dossier nº #{dossier.id}" + %li= link_to(dossier.procedure.libelle, instructeur_avis_index_path(avis.procedure)) + %li= link_to("Dossier nº #{dossier.id}", instructeur_avis_path(avis.procedure, avis)) %ul.tabs = dynamic_tab_item('Demande', instructeur_avis_path(avis.procedure, avis)) diff --git a/app/views/instructeurs/avis/index.html.haml b/app/views/instructeurs/avis/index.html.haml index dddb3946b..76e473be3 100644 --- a/app/views/instructeurs/avis/index.html.haml +++ b/app/views/instructeurs/avis/index.html.haml @@ -1,21 +1,27 @@ - avis_statut = (@statut == Instructeurs::AvisController::A_DONNER_STATUS) ? 'à donner' : 'rendus' - content_for(:title, "Avis #{avis_statut}") -.sub-header - .container.flex - .width-100 - %h1.tab-title Avis - %ul.tabs - = tab_item('avis à donner', - instructeur_all_avis_path(statut: Instructeurs::AvisController::A_DONNER_STATUS), - active: @statut == Instructeurs::AvisController::A_DONNER_STATUS, - badge: @avis_a_donner.count, - notification: @avis_a_donner.any?) +#procedure-show + .sub-header + .container.flex - = tab_item("avis #{'donné'.pluralize(@avis_donnes.count)}", - instructeur_all_avis_path(statut: Instructeurs::AvisController::DONNES_STATUS), - active: @statut == Instructeurs::AvisController::DONNES_STATUS, - badge: @avis_donnes.count) + .procedure-logo{ style: "background-image: url(#{@procedure.logo_url})", + role: 'img', 'aria-label': "logo de la démarche #{@procedure.libelle}" } + + .procedure-header + %h1= procedure_libelle @procedure + + %ul.tabs + = tab_item('avis à donner', + instructeur_avis_index_path(statut: Instructeurs::AvisController::A_DONNER_STATUS), + active: @statut == Instructeurs::AvisController::A_DONNER_STATUS, + badge: @avis_a_donner.count, + notification: @avis_a_donner.any?) + + = tab_item("avis #{'donné'.pluralize(@avis_donnes.count)}", + instructeur_avis_index_path(statut: Instructeurs::AvisController::DONNES_STATUS), + active: @statut == Instructeurs::AvisController::DONNES_STATUS, + badge: @avis_donnes.count) .container - if @avis.present? diff --git a/spec/controllers/instructeurs/avis_controller_spec.rb b/spec/controllers/instructeurs/avis_controller_spec.rb index 1ae9002f3..f8bcad65d 100644 --- a/spec/controllers/instructeurs/avis_controller_spec.rb +++ b/spec/controllers/instructeurs/avis_controller_spec.rb @@ -14,15 +14,15 @@ describe Instructeurs::AvisController, type: :controller do describe '#index' do before { get :index, params: { procedure_id: procedure.id } } - xit { expect(response).to have_http_status(:success) } - xit { expect(assigns(:avis_a_donner)).to match([avis_without_answer]) } - xit { expect(assigns(:avis_donnes)).to match([avis_with_answer]) } - xit { expect(assigns(:statut)).to eq('a-donner') } + it { expect(response).to have_http_status(:success) } + it { expect(assigns(:avis_a_donner)).to match([avis_without_answer]) } + it { expect(assigns(:avis_donnes)).to match([avis_with_answer]) } + it { expect(assigns(:statut)).to eq('a-donner') } context 'with a statut equal to donnes' do before { get :index, params: { statut: 'donnes', procedure_id: procedure.id } } - xit { expect(assigns(:statut)).to eq('donnes') } + it { expect(assigns(:statut)).to eq('donnes') } end end