31 lines
810 B
Ruby
Executable File
31 lines
810 B
Ruby
Executable File
# encoding: utf-8
|
|
|
|
class DocumentUploader < CarrierWave::Uploader::Base
|
|
|
|
include Rails.application.routes.url_helpers
|
|
|
|
|
|
def filename
|
|
"#{friendly_filename(model.title)}_#{friendly_filename(model.accepted_offer.customer.organisation)}_besoin#{model.accepted_offer.offer.need.id}_offre#{model.accepted_offer.offer.id}_#{mounted_as}.#{file.extension}" if original_filename.present?
|
|
end
|
|
|
|
def store_dir
|
|
"#{Rails.root}/private_medias/documents/#{model.id}/#{mounted_as}"
|
|
end
|
|
|
|
def extension_white_list
|
|
%w(pdf)
|
|
end
|
|
|
|
def url
|
|
#download_admin_offer_accepted_offer_path(model.offer, model)
|
|
end
|
|
|
|
def friendly_filename(filename)
|
|
filename.gsub(/[^\w\s_-]+/, '')
|
|
.gsub(/(^|\b\s)\s+($|\s?\b)/, '\\1\\2')
|
|
.gsub(/\s+/, '_')
|
|
end
|
|
|
|
end
|