Browse Source

Conditional error report and view logs links

pull/2653/head
Manny Dinssa 2 years ago
parent
commit
5125c11fd9
  1. 4
      app/components/bulk_upload_summary_component.html.erb
  2. 30
      app/components/bulk_upload_summary_component.rb
  3. 2
      app/models/bulk_upload.rb

4
app/components/bulk_upload_summary_component.html.erb

@ -14,8 +14,8 @@
</div>
<p class="govuk-body govuk-!-margin-bottom-3">
<%= download_file_link(controller, bulk_upload) %>
<%#= view_error_report_link(bulk_upload) %>
<%#= view_logs_link(bulk_upload) %>
<%= view_error_report_link(controller, bulk_upload) %>
<%= view_logs_link(controller, bulk_upload) %>
</p>
</div>
<footer class="govuk-grid-column-one-third app-log-summary__footer">

30
app/components/bulk_upload_summary_component.rb

@ -58,11 +58,33 @@ class BulkUploadSummaryComponent < ViewComponent::Base
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"
def view_error_report_link(controller, bulk_upload)
return nil if %w[errors_fixed_in_service logs_uploaded_with_errors logs_uploaded_no_errors].include?(bulk_upload.status.to_s)
case controller.controller_name
when "lettings_logs"
return link_to "View error report", summary_bulk_upload_lettings_result_url(bulk_upload), class: "govuk-link" if %w[important_errors].include?(bulk_upload.status.to_s)
link_to "View error report", bulk_upload_lettings_result_path(bulk_upload.id), class: "govuk-link"
when "sales_logs"
return link_to "View error report", summary_bulk_upload_sales_result_url(bulk_upload), class: "govuk-link" if %w[important_errors].include?(bulk_upload.status.to_s)
link_to "View error report", bulk_upload_sales_result_path(bulk_upload.id), class: "govuk-link"
else
raise "Error report link not found for bulk upload"
end
end
def view_logs_link(bulk_upload)
link_to "View logs", "#", class: "govuk-link"
def view_logs_link(controller, bulk_upload)
return nil if %w[errors_fixed_in_service logs_uploaded_no_errors].include?(bulk_upload.status.to_s)
case controller.controller_name
when "lettings_logs"
return nil unless %w[errors_fixed_in_service logs_uploaded_with_errors logs_uploaded_no_errors].include?(bulk_upload.status.to_s)
link_to "View logs", "/lettings-logs?bulk_upload_id%5B%5D=#{bulk_upload.id}", class: "govuk-link"
when "sales_logs"
return nil unless %w[errors_fixed_in_service logs_uploaded_with_errors logs_uploaded_no_errors].include?(bulk_upload.status.to_s)
link_to "View logs", "/sales-logs?bulk_upload_id%5B%5D=#{bulk_upload.id}", class: "govuk-link"
else
raise "View logs link not found for bulk upload"
end
end
end

2
app/models/bulk_upload.rb

@ -53,7 +53,7 @@ class BulkUpload < ApplicationRecord
def status
return :logs_uploaded_no_errors if bulk_upload_errors.none?
if logs.exists?
if logs.visible.exists?
return :errors_fixed_in_service if completed? && bulk_upload_errors.any?
return :logs_uploaded_with_errors if bulk_upload_errors.any?
end

Loading…
Cancel
Save