feat(gallery): add attachments from justificatif motivation
This commit is contained in:
parent
17aaa7b32c
commit
efef61c34c
5 changed files with 35 additions and 4 deletions
|
@ -23,6 +23,8 @@ class Attachment::GalleryItemComponent < ApplicationComponent
|
|||
'Pièce jointe au message'
|
||||
elsif from_avis_externe?
|
||||
'Pièce jointe à l’avis'
|
||||
elsif from_justificatif_motivation?
|
||||
'Pièce jointe à la décision'
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -42,6 +44,8 @@ class Attachment::GalleryItemComponent < ApplicationComponent
|
|||
'Avis externe (instructeur)'
|
||||
when from_avis_externe_expert?
|
||||
'Avis externe (expert)'
|
||||
when from_justificatif_motivation?
|
||||
'Justificatif de décision'
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -121,4 +125,8 @@ class Attachment::GalleryItemComponent < ApplicationComponent
|
|||
def from_avis_externe_expert?
|
||||
from_avis_externe? && attachment.name == 'piece_justificative_file'
|
||||
end
|
||||
|
||||
def from_justificatif_motivation?
|
||||
attachment.name == 'justificatif_motivation'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
Visualiser
|
||||
- if !gallery_demande?
|
||||
.fr-text--sm.fr-mt-2v.fr-mb-1v
|
||||
= libelle.truncate(25)
|
||||
= libelle.truncate(30)
|
||||
= render Attachment::ShowComponent.new(attachment:, truncate: true, new_tab: gallery_demande?)
|
||||
- if !gallery_demande?
|
||||
.fr-mt-2v.fr-mb-2v{ class: badge_updated_class }
|
||||
|
@ -19,7 +19,7 @@
|
|||
= image_tag('apercu-indisponible.png')
|
||||
- if !gallery_demande?
|
||||
.fr-text--sm.fr-mt-2v.fr-mb-1v
|
||||
= libelle.truncate(25)
|
||||
= libelle.truncate(30)
|
||||
= render Attachment::ShowComponent.new(attachment:, truncate: true, new_tab: gallery_demande?)
|
||||
- if !gallery_demande?
|
||||
.fr-mt-2v.fr-mb-2v{ class: badge_updated_class }
|
||||
|
|
|
@ -522,7 +522,12 @@ module Instructeurs
|
|||
.compact
|
||||
.map(&:id)
|
||||
|
||||
champs_attachments_ids + commentaires_attachments_ids + avis_attachments_ids
|
||||
justificatif_motivation_id = dossier
|
||||
.justificatif_motivation
|
||||
&.attachment
|
||||
&.id
|
||||
|
||||
champs_attachments_ids + commentaires_attachments_ids + avis_attachments_ids + [justificatif_motivation_id]
|
||||
end
|
||||
@gallery_attachments = ActiveStorage::Attachment.where(id: gallery_attachments_ids)
|
||||
end
|
||||
|
|
|
@ -10,7 +10,7 @@ module BlobImageProcessorConcern
|
|||
end
|
||||
|
||||
def representation_required?
|
||||
from_champ? || from_messagerie? || logo? || from_action_text? || from_avis?
|
||||
from_champ? || from_messagerie? || logo? || from_action_text? || from_avis? || from_justificatif_motivation?
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -38,4 +38,8 @@ module BlobImageProcessorConcern
|
|||
def watermark_required?
|
||||
attachments.any? { _1.record.class == Champs::TitreIdentiteChamp }
|
||||
end
|
||||
|
||||
def from_justificatif_motivation?
|
||||
attachments.any? { _1.name == 'justificatif_motivation' }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -145,6 +145,20 @@ RSpec.describe Attachment::GalleryItemComponent, type: :component do
|
|||
end
|
||||
end
|
||||
|
||||
context "when attachment is from a justificatif motivation" do
|
||||
let(:fake_justificatif) { fixture_file_upload('spec/fixtures/files/piece_justificative_0.pdf', 'application/pdf') }
|
||||
let(:attachment) { dossier.justificatif_motivation.attachment }
|
||||
|
||||
before { dossier.update!(justificatif_motivation: fake_justificatif) }
|
||||
|
||||
it "displays a generic libelle, link, tag and renders title" do
|
||||
expect(subject).to have_text('Justificatif de décision')
|
||||
expect(subject).to have_link(filename)
|
||||
expect(subject).to have_text('Pièce jointe à la décision')
|
||||
expect(component.title).to eq("Pièce jointe à la décision -- #{filename}")
|
||||
end
|
||||
end
|
||||
|
||||
context "when attachment is from an avis" do
|
||||
context 'from an instructeur' do
|
||||
let(:avis) { create(:avis, :with_introduction, dossier: dossier) }
|
||||
|
|
Loading…
Reference in a new issue