Browse Source

Downloading bulk uploads on non-dev environments

pull/2653/head
Manny Dinssa 2 years ago
parent
commit
d5fe1dbd60
  1. 8
      app/controllers/lettings_logs_controller.rb
  2. 8
      app/controllers/sales_logs_controller.rb
  3. 5
      app/services/bulk_upload/downloader.rb

8
app/controllers/lettings_logs_controller.rb

@ -137,9 +137,13 @@ class LettingsLogsController < LogsController
def download_bulk_upload
bulk_upload = BulkUpload.find(params[:id])
downloader = BulkUpload::Downloader.new(bulk_upload:)
downloader.call
send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv"
if Rails.env.development?
send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv"
else
presigned_url = downloader.presigned_url
redirect_to presigned_url
end
end
private

8
app/controllers/sales_logs_controller.rb

@ -107,9 +107,13 @@ class SalesLogsController < LogsController
def download_bulk_upload
bulk_upload = BulkUpload.find(params[:id])
downloader = BulkUpload::Downloader.new(bulk_upload:)
downloader.call
send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv"
if Rails.env.development?
send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv"
else
presigned_url = downloader.presigned_url
redirect_to presigned_url
end
end
private

5
app/services/bulk_upload/downloader.rb

@ -19,6 +19,10 @@ class BulkUpload::Downloader
file.path
end
def presigned_url
s3_storage_service.get_presigned_url(bulk_upload.identifier, 60)
end
private
def download
@ -33,6 +37,7 @@ private
end
def storage_service
# or use !Rails.env.development?
@storage_service ||= if FeatureToggle.upload_enabled?
s3_storage_service
else

Loading…
Cancel
Save