28 lines
759 B
Ruby
28 lines
759 B
Ruby
class Champs::TitreIdentiteChamp < Champ
|
||
FILE_MAX_SIZE = 20.megabytes
|
||
ACCEPTED_FORMATS = ['image/png', 'image/jpeg']
|
||
|
||
has_many_attached :piece_justificative_file do |attachable|
|
||
attachable.variant :small, resize: '300x300'
|
||
attachable.variant :medium, resize: '400x400'
|
||
end
|
||
|
||
# TODO: if: -> { validate_champ_value? || validation_context == :prefill }
|
||
validates :piece_justificative_file, content_type: ACCEPTED_FORMATS, size: { less_than: FILE_MAX_SIZE }
|
||
|
||
def main_value_name
|
||
:piece_justificative_file
|
||
end
|
||
|
||
def search_terms
|
||
# We don’t know how to search inside documents yet
|
||
end
|
||
|
||
def mandatory_blank?
|
||
mandatory? && !piece_justificative_file.attached?
|
||
end
|
||
|
||
def blank?
|
||
piece_justificative_file.blank?
|
||
end
|
||
end
|