diff --git a/app/controllers/download_contact_files_controller.rb b/app/controllers/download_contact_files_controller.rb new file mode 100644 index 0000000..00f9ce6 --- /dev/null +++ b/app/controllers/download_contact_files_controller.rb @@ -0,0 +1,14 @@ +# -*- encoding : utf-8 -*- +class DownloadContactFilesController < ApplicationController + def index + end + + + + def show + @data_file = ContactFile.find_by_token(params[:id]) + send_file @data_file.file.path #, :disposition => "inline" + end + + +end diff --git a/app/models/contact_file.rb b/app/models/contact_file.rb index 87f5b4b..42fa2c9 100644 --- a/app/models/contact_file.rb +++ b/app/models/contact_file.rb @@ -13,4 +13,14 @@ class ContactFile < ActiveRecord::Base end + before_create { generate_token() } + + def generate_token() + begin + self[:token] = SecureRandom.urlsafe_base64 + end while ContactFile.exists?(:token => self[:token]) + end + + + end diff --git a/app/uploaders/contact_file_uploader.rb b/app/uploaders/contact_file_uploader.rb index b7c2ed8..5e6b1fc 100644 --- a/app/uploaders/contact_file_uploader.rb +++ b/app/uploaders/contact_file_uploader.rb @@ -17,7 +17,7 @@ class ContactFileUploader < CarrierWave::Uploader::Base end def url - "/download_data_files/#{model.token}" + "/download_contact_files/#{model.token}" end diff --git a/config/routes.rb b/config/routes.rb index a78c608..e348bf6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -168,7 +168,7 @@ CMSnb::Application.routes.draw do - + resources :download_contact_files resources :download_data_files