diff --git a/app/models/export_template.rb b/app/models/export_template.rb index 6555af9c9..febadd05a 100644 --- a/app/models/export_template.rb +++ b/app/models/export_template.rb @@ -128,7 +128,7 @@ class ExportTemplate < ApplicationRecord 'messagerie' when 'Avis' 'avis' - when 'Attestation' + when 'Attestation', 'Etablissement' 'pieces_justificatives' else # for attachment diff --git a/app/services/pieces_justificatives_service.rb b/app/services/pieces_justificatives_service.rb index 871aa6f68..92d53b088 100644 --- a/app/services/pieces_justificatives_service.rb +++ b/app/services/pieces_justificatives_service.rb @@ -195,7 +195,12 @@ class PiecesJustificativesService .where(record_type: "Etablissement", record_id: etablissement_id_dossier_id.keys) .map do |a| dossier_id = etablissement_id_dossier_id[a.record_id] - ActiveStorage::DownloadableFile.pj_and_path(dossier_id, a) + if @export_template + dossier = dossiers.find { _1.id == dossier_id } + @export_template.attachment_and_path(dossier, a) + else + ActiveStorage::DownloadableFile.pj_and_path(dossier_id, a) + end end end diff --git a/spec/services/pieces_justificatives_service_spec.rb b/spec/services/pieces_justificatives_service_spec.rb index c817e9047..0057b0b0f 100644 --- a/spec/services/pieces_justificatives_service_spec.rb +++ b/spec/services/pieces_justificatives_service_spec.rb @@ -236,6 +236,17 @@ describe PiecesJustificativesService do end it { expect(subject).to match_array([attestation_sociale.attachment, attestation_fiscale.attachment]) } + + it 'uses default name for dossier directory' do + expect(PiecesJustificativesService.new(user_profile:, export_template: nil).liste_documents(dossiers).map(&:second)[0].starts_with?("dossier-#{dossier.id}/pieces_justificatives")).to be true + end + + context 'with export_template' do + let(:export_template) { create(:export_template, :with_custom_ddd_prefix, ddd_prefix: "DOSSIER-", groupe_instructeur: procedure.defaut_groupe_instructeur) } + it 'uses specific name for dossier directory' do + expect(PiecesJustificativesService.new(user_profile:, export_template:).liste_documents(dossiers).map(&:second)[0].starts_with?("DOSSIER-#{dossier.id}/pieces_justificatives")).to be true + end + end end end