refactor(expert): preload dossier

This commit is contained in:
Colin Darie 2023-10-10 14:58:37 +02:00
parent 9985cdccec
commit 816a85800e
No known key found for this signature in database
GPG key ID: 8C76CADD40253590
2 changed files with 12 additions and 3 deletions

View file

@ -31,6 +31,7 @@ module Experts
expert_avis = current_expert expert_avis = current_expert
.avis .avis
.not_revoked .not_revoked
.includes(:procedure)
.includes(dossier: :user) .includes(dossier: :user)
.not_hidden_by_administration .not_hidden_by_administration
.where(dossiers: { groupe_instructeur: GroupeInstructeur.where(procedure: @procedure) }) .where(dossiers: { groupe_instructeur: GroupeInstructeur.where(procedure: @procedure) })
@ -55,6 +56,7 @@ module Experts
end end
def show def show
@dossier = dossier_with_champs
end end
def instruction def instruction
@ -157,6 +159,8 @@ module Experts
end end
def telecharger_pjs def telecharger_pjs
@dossier = dossier_with_champs
files = ActiveStorage::DownloadableFile.create_list_from_dossiers(Dossier.where(id: @dossier.id), include_avis_for_expert: current_expert) files = ActiveStorage::DownloadableFile.create_list_from_dossiers(Dossier.where(id: @dossier.id), include_avis_for_expert: current_expert)
cleaned_files = ActiveStorage::DownloadableFile.cleanup_list_from_dossier(files) cleaned_files = ActiveStorage::DownloadableFile.cleanup_list_from_dossier(files)
@ -200,6 +204,11 @@ module Experts
@avis = current_expert.avis.find_by(id: params[:id]) @avis = current_expert.avis.find_by(id: params[:id])
redirect_to(expert_all_avis_path, flash: { alert: "Vous navez pas accès à cet avis." }) and return unless @avis redirect_to(expert_all_avis_path, flash: { alert: "Vous navez pas accès à cet avis." }) and return unless @avis
@dossier = @avis.dossier @dossier = @avis.dossier
set_sentry_dossier(@dossier)
end
def dossier_with_champs
DossierPreloader.load_one(@dossier, pj_template: false)
end end
def avis_params def avis_params

View file

@ -36,11 +36,11 @@
- @avis.each do |avis| - @avis.each do |avis|
%tr %tr
%td.number-col %td.number-col
= link_to(expert_avis_path(@procedure, avis), class: 'cell-link') do = link_to(expert_avis_path(avis.procedure, avis), class: 'cell-link') do
%span.icon.folder %span.icon.folder
#{avis.dossier.id} #{avis.dossier.id}
%td= link_to(avis.dossier.user_email_for(:display), expert_avis_path(@procedure, avis), class: 'cell-link') %td= link_to(avis.dossier.user_email_for(:display), expert_avis_path(avis.procedure, avis), class: 'cell-link')
%td= link_to(@procedure.libelle, expert_avis_path(@procedure, avis), class: 'cell-link') %td= link_to(avis.procedure.libelle, expert_avis_path(avis.procedure, avis), class: 'cell-link')
= paginate @avis, views_prefix: 'shared' = paginate @avis, views_prefix: 'shared'
- else - else
%h2.empty-text Aucun avis %h2.empty-text Aucun avis