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"
|
"image/jpeg"
|
||||||
]
|
]
|
||||||
|
|
||||||
# TODO: once we're running on Rails 6, re-enable this validation.
|
validates :piece_justificative_file,
|
||||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
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
|
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?
|
piece_justificative_file.filename.to_s if piece_justificative_file.attached?
|
||||||
end
|
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
|
def for_api
|
||||||
if piece_justificative_file.attached? && (piece_justificative_file.virus_scanner.safe? || piece_justificative_file.virus_scanner.pending?)
|
if piece_justificative_file.attached? && (piece_justificative_file.virus_scanner.safe? || piece_justificative_file.virus_scanner.pending?)
|
||||||
piece_justificative_file.service_url
|
piece_justificative_file.service_url
|
||||||
|
|
|
@ -200,12 +200,7 @@ feature 'The user' do
|
||||||
expect(page).to have_text('RIB.pdf')
|
expect(page).to have_text('RIB.pdf')
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: once we're running on Rails 6, re-enable the validator on PieceJustificativeChamp,
|
scenario 'add an invalid attachment', js: true do
|
||||||
# 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
|
|
||||||
log_in(user, procedure_with_pjs)
|
log_in(user, procedure_with_pjs)
|
||||||
fill_individual
|
fill_individual
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,7 @@ describe Champs::PieceJustificativeChamp do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: once we're running on Rails 6, re-enable the PieceJustificativeChamp validator,
|
describe "validations" do
|
||||||
# and re-enable this spec.
|
|
||||||
#
|
|
||||||
# See https://github.com/betagouv/demarches-simplifiees.fr/issues/4926
|
|
||||||
describe "validations", pending: true do
|
|
||||||
subject(:champ_pj) { build(:champ_piece_justificative) }
|
subject(:champ_pj) { build(:champ_piece_justificative) }
|
||||||
|
|
||||||
it { is_expected.to validate_size_of(:piece_justificative_file).less_than(Champs::PieceJustificativeChamp::MAX_SIZE) }
|
it { is_expected.to validate_size_of(:piece_justificative_file).less_than(Champs::PieceJustificativeChamp::MAX_SIZE) }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue