display all avis for a procedure for an expert

This commit is contained in:
Christophe Robillard 2020-06-24 22:25:10 +02:00
parent c565c9c87b
commit 29e2d3d7eb
4 changed files with 29 additions and 21 deletions

View file

@ -11,7 +11,8 @@ module Instructeurs
DONNES_STATUS = 'donnes' DONNES_STATUS = 'donnes'
def index 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_a_donner = instructeur_avis.without_answer
@avis_donnes = instructeur_avis.with_answer @avis_donnes = instructeur_avis.with_answer

View file

@ -2,7 +2,8 @@
.container .container
%ul.breadcrumbs %ul.breadcrumbs
%li= link_to('Avis', instructeur_all_avis_path) %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 %ul.tabs
= dynamic_tab_item('Demande', instructeur_avis_path(avis.procedure, avis)) = dynamic_tab_item('Demande', instructeur_avis_path(avis.procedure, avis))

View file

@ -1,19 +1,25 @@
- avis_statut = (@statut == Instructeurs::AvisController::A_DONNER_STATUS) ? 'à donner' : 'rendus' - avis_statut = (@statut == Instructeurs::AvisController::A_DONNER_STATUS) ? 'à donner' : 'rendus'
- content_for(:title, "Avis #{avis_statut}") - content_for(:title, "Avis #{avis_statut}")
.sub-header #procedure-show
.sub-header
.container.flex .container.flex
.width-100
%h1.tab-title Avis .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 %ul.tabs
= tab_item('avis à donner', = tab_item('avis à donner',
instructeur_all_avis_path(statut: Instructeurs::AvisController::A_DONNER_STATUS), instructeur_avis_index_path(statut: Instructeurs::AvisController::A_DONNER_STATUS),
active: @statut == Instructeurs::AvisController::A_DONNER_STATUS, active: @statut == Instructeurs::AvisController::A_DONNER_STATUS,
badge: @avis_a_donner.count, badge: @avis_a_donner.count,
notification: @avis_a_donner.any?) notification: @avis_a_donner.any?)
= tab_item("avis #{'donné'.pluralize(@avis_donnes.count)}", = tab_item("avis #{'donné'.pluralize(@avis_donnes.count)}",
instructeur_all_avis_path(statut: Instructeurs::AvisController::DONNES_STATUS), instructeur_avis_index_path(statut: Instructeurs::AvisController::DONNES_STATUS),
active: @statut == Instructeurs::AvisController::DONNES_STATUS, active: @statut == Instructeurs::AvisController::DONNES_STATUS,
badge: @avis_donnes.count) badge: @avis_donnes.count)

View file

@ -14,15 +14,15 @@ describe Instructeurs::AvisController, type: :controller do
describe '#index' do describe '#index' do
before { get :index, params: { procedure_id: procedure.id } } before { get :index, params: { procedure_id: procedure.id } }
xit { expect(response).to have_http_status(:success) } it { expect(response).to have_http_status(:success) }
xit { expect(assigns(:avis_a_donner)).to match([avis_without_answer]) } it { expect(assigns(:avis_a_donner)).to match([avis_without_answer]) }
xit { expect(assigns(:avis_donnes)).to match([avis_with_answer]) } it { expect(assigns(:avis_donnes)).to match([avis_with_answer]) }
xit { expect(assigns(:statut)).to eq('a-donner') } it { expect(assigns(:statut)).to eq('a-donner') }
context 'with a statut equal to donnes' do context 'with a statut equal to donnes' do
before { get :index, params: { statut: 'donnes', procedure_id: procedure.id } } 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
end end