From 031fa7ced7bd2aa5143b2cb16db9517d23be1841 Mon Sep 17 00:00:00 2001 From: Reiss Johnson Date: Tue, 10 Jun 2025 09:41:46 +0100 Subject: [PATCH] REW-2045 - adds download_link method for dragonfly adapter and use this method on import table, this method can then be overwritten in file processor model's so custom logic can be added. --- app/models/concerns/csv2db/active_storage_adapter.rb | 9 ++++++--- app/models/concerns/csv2db/dragonfly_adapter.rb | 4 ++++ app/views/csv2db/_csv_import_table.html.haml | 5 +---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/models/concerns/csv2db/active_storage_adapter.rb b/app/models/concerns/csv2db/active_storage_adapter.rb index 2b89cd6..993ccfe 100644 --- a/app/models/concerns/csv2db/active_storage_adapter.rb +++ b/app/models/concerns/csv2db/active_storage_adapter.rb @@ -28,12 +28,15 @@ def file=(file) self.file_name = filename end - def download_link(expires_in: LINK_MAX_EXPIRY) - return unless file_attachment.present? + def download_link + return unless file_attachment.present? && file_attachment.attached? set_current_host - file_attachment.service_url(expires_in: expires_in.to_i, disposition: 'attachment') + file_attachment.service_url( + expires_in: LINK_MAX_EXPIRY.to_i, + disposition: 'attachment' + ) end private diff --git a/app/models/concerns/csv2db/dragonfly_adapter.rb b/app/models/concerns/csv2db/dragonfly_adapter.rb index 4f588e1..f17fc71 100644 --- a/app/models/concerns/csv2db/dragonfly_adapter.rb +++ b/app/models/concerns/csv2db/dragonfly_adapter.rb @@ -11,6 +11,10 @@ module Csv2db::DragonflyAdapter validate :check_file_extension end + def download_link + file.url + end + private def check_file_extension diff --git a/app/views/csv2db/_csv_import_table.html.haml b/app/views/csv2db/_csv_import_table.html.haml index 761eb89..9db07f4 100644 --- a/app/views/csv2db/_csv_import_table.html.haml +++ b/app/views/csv2db/_csv_import_table.html.haml @@ -15,10 +15,7 @@ %tr %td= import.id %td= import.created_at - - if Csv2db.config.storage_adapter.active_storage? - %td= link_to import.file_name, import.download_link - - else - %td= link_to import.file.name, import.file.url, target: '_blank' + %td= link_to(import.file_name, import.download_link) %td .badge{ class: "badge-upload-#{import.status}" }= import.status %td