reenable validator on piece_justificative
This commit is contained in:
parent
c5af4110a4
commit
8711e8f911
3 changed files with 27 additions and 17 deletions
|
@ -33,12 +33,9 @@ class Champs::PieceJustificativeChamp < Champ
|
|||
"image/jpeg"
|
||||
]
|
||||
|
||||
# TODO: once we're running on Rails 6, re-enable this validation.
|
||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
||||
#
|
||||
# validates :piece_justificative_file,
|
||||
# content_type: ACCEPTED_FORMATS,
|
||||
# size: { less_than: MAX_SIZE }
|
||||
validates :piece_justificative_file,
|
||||
content_type: ACCEPTED_FORMATS,
|
||||
size: { less_than: MAX_SIZE }
|
||||
|
||||
before_save :update_skip_pj_validation
|
||||
|
||||
|
@ -58,6 +55,28 @@ class Champs::PieceJustificativeChamp < Champ
|
|||
piece_justificative_file.filename.to_s if piece_justificative_file.attached?
|
||||
end
|
||||
|
||||
def piece_justificative_file_errors
|
||||
errors = []
|
||||
|
||||
if piece_justificative_file.attached? && piece_justificative_file.previous_changes.present?
|
||||
if piece_justificative_file.blob.byte_size > MAX_SIZE
|
||||
errors << "Le fichier #{piece_justificative_file.filename} est trop lourd, il doit faire au plus #{MAX_SIZE.to_s(:human_size, precision: 2)}"
|
||||
end
|
||||
|
||||
if !piece_justificative_file.blob.content_type.in?(ACCEPTED_FORMATS)
|
||||
errors << "Le fichier #{piece_justificative_file.filename} est dans un format que nous n'acceptons pas"
|
||||
end
|
||||
|
||||
# FIXME: add Clamav check
|
||||
end
|
||||
|
||||
if errors.present?
|
||||
piece_justificative_file.purge_later
|
||||
end
|
||||
|
||||
errors
|
||||
end
|
||||
|
||||
def for_api
|
||||
if piece_justificative_file.attached? && (piece_justificative_file.virus_scanner.safe? || piece_justificative_file.virus_scanner.pending?)
|
||||
piece_justificative_file.service_url
|
||||
|
|
|
@ -200,12 +200,7 @@ feature 'The user' do
|
|||
expect(page).to have_text('RIB.pdf')
|
||||
end
|
||||
|
||||
# TODO: once we're running on Rails 6, re-enable the validator on PieceJustificativeChamp,
|
||||
# and unmark this spec as pending.
|
||||
#
|
||||
# See piece_justificative_champ.rb
|
||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
||||
scenario 'add an invalid attachment', js: true, pending: true do
|
||||
scenario 'add an invalid attachment', js: true do
|
||||
log_in(user, procedure_with_pjs)
|
||||
fill_individual
|
||||
|
||||
|
|
|
@ -16,11 +16,7 @@ describe Champs::PieceJustificativeChamp do
|
|||
end
|
||||
end
|
||||
|
||||
# TODO: once we're running on Rails 6, re-enable the PieceJustificativeChamp validator,
|
||||
# and re-enable this spec.
|
||||
#
|
||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
||||
describe "validations", pending: true do
|
||||
describe "validations" do
|
||||
subject(:champ_pj) { build(:champ_piece_justificative) }
|
||||
|
||||
it { is_expected.to validate_size_of(:piece_justificative_file).less_than(Champs::PieceJustificativeChamp::MAX_SIZE) }
|
||||
|
|
Loading…
Reference in a new issue