diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 0194946d4..cc3c731d5 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -65,7 +65,7 @@ class LettingsLogsController < LogsController elsif @log.collection_closed_for_editing? redirect_to review_lettings_log_path(@log) else - render("logs/edit", locals: { current_user: }) + render("logs/edit", locals: { current_user:, bulk_upload_filter_applied: session_filters["bulk_upload_id"].present? }) end end diff --git a/app/helpers/log_actions_helper.rb b/app/helpers/log_actions_helper.rb index 8a018445e..3f2737cdd 100644 --- a/app/helpers/log_actions_helper.rb +++ b/app/helpers/log_actions_helper.rb @@ -2,8 +2,8 @@ module LogActionsHelper include GovukLinkHelper include GovukVisuallyHiddenHelper - def edit_actions_for_log(log) - back = back_button_for(log) + def edit_actions_for_log(log, bulk_upload_filter_applied) + back = back_button_for(log, bulk_upload_filter_applied) delete = delete_button_for_log(log) return if back.nil? && delete.nil? @@ -15,9 +15,9 @@ module LogActionsHelper private - def back_button_for(log) + def back_button_for(log, bulk_upload_filter_applied) if log.completed? - if log.creation_method_bulk_upload? && log.bulk_upload.present? + if log.creation_method_bulk_upload? && log.bulk_upload.present? && bulk_upload_filter_applied if log.lettings? govuk_button_link_to "Back to uploaded logs", resume_bulk_upload_lettings_result_path(log.bulk_upload) else diff --git a/app/services/storage/local_disk_service.rb b/app/services/storage/local_disk_service.rb index 228f0339e..8e69e2516 100644 --- a/app/services/storage/local_disk_service.rb +++ b/app/services/storage/local_disk_service.rb @@ -19,7 +19,9 @@ module Storage File.open(path, "r") end - def write_file(filename, data, _content_type: nil) + # rubocop:disable Lint/UnusedMethodArgument + def write_file(filename, data, content_type: nil) + # rubocop:enable Lint/UnusedMethodArgument path = Rails.root.join("tmp/storage", filename) FileUtils.mkdir_p(path.dirname) diff --git a/app/views/logs/edit.html.erb b/app/views/logs/edit.html.erb index 68bf78e87..3859ca6db 100644 --- a/app/views/logs/edit.html.erb +++ b/app/views/logs/edit.html.erb @@ -38,6 +38,6 @@ <%= render "tasklist" %> - <%= edit_actions_for_log(@log) %> + <%= edit_actions_for_log(@log, bulk_upload_filter_applied) %> diff --git a/spec/requests/lettings_logs_controller_spec.rb b/spec/requests/lettings_logs_controller_spec.rb index 79a184336..3443a70ca 100644 --- a/spec/requests/lettings_logs_controller_spec.rb +++ b/spec/requests/lettings_logs_controller_spec.rb @@ -1158,6 +1158,31 @@ RSpec.describe LettingsLogsController, type: :request do expect(page).to have_link("review and make changes to this log", href: "/lettings-logs/#{lettings_log.id}/review") end end + + context "with bulk_upload_id filter" do + let(:bulk_upload) { create(:bulk_upload, :lettings, user:) } + let(:lettings_log) { create(:lettings_log, :completed, age1: nil, bulk_upload:, assigned_to: user, creation_method: "bulk upload") } + + before do + lettings_log.status = "completed" + lettings_log.skip_update_status = true + lettings_log.save!(validate: false) + end + + context "with bulk_upload_id filter in session" do + it "displays back to uploaded logs link" do + get "/lettings-logs/#{lettings_log.id}?bulk_upload_id[]=#{bulk_upload.id}" + expect(page).to have_link("Back to uploaded logs") + end + end + + context "without bulk_upload_id filter in session" do + it "does not display back to uploaded logs link" do + get "/lettings-logs/#{lettings_log.id}" + expect(page).not_to have_link("Back to uploaded logs") + end + end + end end context "with lettings logs from a closed collection period before the previous collection" do