Browse Source

Implement download file link

pull/2653/head
Manny Dinssa 2 years ago
parent
commit
a399d845c7
  1. 6
      app/components/bulk_upload_summary_component.html.erb
  2. 29
      app/helpers/bulk_upload_helper.rb
  3. 4
      app/services/bulk_upload/downloader.rb
  4. 2
      app/views/bulk_upload_shared/uploads.html.erb
  5. 12
      config/routes.rb

6
app/components/bulk_upload_summary_component.html.erb

@ -13,9 +13,9 @@
<p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Time of upload: <%= bulk_upload.created_at.to_formatted_s(:govuk_date_and_time) %></p> <p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Time of upload: <%= bulk_upload.created_at.to_formatted_s(:govuk_date_and_time) %></p>
</div> </div>
<p class="govuk-body govuk-!-margin-bottom-3"> <p class="govuk-body govuk-!-margin-bottom-3">
<%= download_file_link %> <%= download_file_link(controller, bulk_upload) %>
<%= view_error_report_link %> <%= view_error_report_link(bulk_upload) %>
<%= view_logs_link %> <%= view_logs_link(bulk_upload) %>
</p> </p>
</div> </div>
<footer class="govuk-grid-column-one-third app-log-summary__footer"> <footer class="govuk-grid-column-one-third app-log-summary__footer">

29
app/helpers/bulk_upload_helper.rb

@ -2,11 +2,11 @@ module BulkUploadHelper
def bulk_upload_title(controller) def bulk_upload_title(controller)
case controller.controller_name case controller.controller_name
when "lettings_logs" when "lettings_logs"
"Lettings Bulk Uploads" "Lettings bulk uploads"
when "sales_logs" when "sales_logs"
"Sales Bulk Uploads" "Sales bulk uploads"
else else
"Bulk Uploads" "Bulk uploads"
end end
end end
@ -34,15 +34,32 @@ module BulkUploadHelper
}.compact.join("").html_safe }.compact.join("").html_safe
end end
def download_file_link def download_file_link(controller, bulk_upload)
link_to "Download file", "#", class: "govuk-link govuk-!-margin-right-2" case controller.controller_name
when "lettings_logs"
download_lettings_file_link(bulk_upload)
when "sales_logs"
download_sales_file_link(bulk_upload)
else
raise "Download file link not found for bulk upload"
end
end end
def view_error_report_link def view_error_report_link
link_to "View error report", "#", class: "govuk-link" link_to "View error report", "#", class: "govuk-link"
def download_lettings_file_link(bulk_upload)
link_to "Download file", download_lettings_bulk_upload_path(bulk_upload), class: "govuk-link govuk-!-margin-right-2"
end
def download_sales_file_link(bulk_upload)
link_to "Download file", download_sales_bulk_upload_path(bulk_upload), class: "govuk-link govuk-!-margin-right-2"
end
def view_error_report_link(bulk_upload)
link_to "View error report", "/lettings-logs/bulk-upload-resume/#{bulk_upload.id}/start", class: "govuk-link"
end end
def view_logs_link def view_logs_link(bulk_upload)
link_to "View logs", "#", class: "govuk-link" link_to "View logs", "#", class: "govuk-link"
end end

4
app/services/bulk_upload/downloader.rb

@ -15,6 +15,10 @@ class BulkUpload::Downloader
file.unlink file.unlink
end end
def file_path
file.path
end
private private
def download def download

2
app/views/bulk_upload_shared/uploads.html.erb

@ -4,7 +4,7 @@
<% content_for :title, title %> <% content_for :title, title %>
<h1 class="govuk-heading-l govuk-!-margin-bottom-7"> <h1 class="govuk-heading-l govuk-!-margin-bottom-7">
<%= "#{log_type_for_controller(controller).capitalize} bulk uploads" %> <%= bulk_upload_title(controller) %>
</h1> </h1>
<div class="app-filter-layout" data-controller="filter-layout"> <div class="app-filter-layout" data-controller="filter-layout">

12
config/routes.rb

@ -278,6 +278,12 @@ Rails.application.routes.draw do
end end
end end
resources :bulk_uploads, only: [] do
member do
get "download", to: "lettings_logs#download_bulk_upload", as: "download_lettings"
end
end
get "update-logs", to: "lettings_logs#update_logs" get "update-logs", to: "lettings_logs#update_logs"
end end
@ -350,6 +356,12 @@ Rails.application.routes.draw do
patch "*page", to: "bulk_upload_sales_soft_validations_check#update" patch "*page", to: "bulk_upload_sales_soft_validations_check#update"
end end
end end
resources :bulk_uploads, only: [] do
member do
get "download", to: "sales_logs#download_bulk_upload"
end
end
end end
member do member do

Loading…
Cancel
Save