From 389ea20ae368ab4659d7993b3a682b5cbe539a63 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Wed, 24 Jan 2024 11:19:06 +0000 Subject: [PATCH] feat: update routing so deletion report is not shown once logs uploaded --- ...bulk_upload_lettings_results_controller.rb | 6 ---- .../bulk_upload_lettings_resume_controller.rb | 8 ++++++ .../bulk_upload_sales_results_controller.rb | 6 ---- .../bulk_upload_sales_resume_controller.rb | 8 ++++++ .../deletion_report.rb | 28 +++++++++++++++++++ .../confirm.html.erb | 2 +- .../deletion_report.html.erb | 0 .../bulk_upload_sales_resume/confirm.html.erb | 2 +- .../deletion_report.html.erb | 0 config/routes.rb | 4 +-- 10 files changed, 48 insertions(+), 16 deletions(-) create mode 100644 app/models/forms/bulk_upload_lettings_resume/deletion_report.rb rename app/views/{bulk_upload_lettings_results => bulk_upload_lettings_resume}/deletion_report.html.erb (100%) rename app/views/{bulk_upload_sales_results => bulk_upload_sales_resume}/deletion_report.html.erb (100%) diff --git a/app/controllers/bulk_upload_lettings_results_controller.rb b/app/controllers/bulk_upload_lettings_results_controller.rb index 4281ef4ad..a7ea2605a 100644 --- a/app/controllers/bulk_upload_lettings_results_controller.rb +++ b/app/controllers/bulk_upload_lettings_results_controller.rb @@ -29,12 +29,6 @@ class BulkUploadLettingsResultsController < ApplicationController authorize @bulk_upload end - def deletion_report - @bulk_upload = BulkUpload.lettings.find(params[:id]) - - authorize @bulk_upload - end - private def reset_logs_filters diff --git a/app/controllers/bulk_upload_lettings_resume_controller.rb b/app/controllers/bulk_upload_lettings_resume_controller.rb index 132ca095b..9003c8ced 100644 --- a/app/controllers/bulk_upload_lettings_resume_controller.rb +++ b/app/controllers/bulk_upload_lettings_resume_controller.rb @@ -31,6 +31,12 @@ class BulkUploadLettingsResumeController < ApplicationController end end + def deletion_report + @bulk_upload = BulkUpload.lettings.find(params[:id]) + + authorize @bulk_upload + end + private def form @@ -41,6 +47,8 @@ private Forms::BulkUploadLettingsResume::Chosen.new(form_params.merge(bulk_upload: @bulk_upload)) when "confirm" Forms::BulkUploadLettingsResume::Confirm.new(form_params.merge(bulk_upload: @bulk_upload)) + when "deletion-report" + Forms::BulkUploadLettingsResume::DeletionReport.new(form_params.merge(bulk_upload: @bulk_upload)) else raise "invalid form" end diff --git a/app/controllers/bulk_upload_sales_results_controller.rb b/app/controllers/bulk_upload_sales_results_controller.rb index 6b3323c15..feb7b3e06 100644 --- a/app/controllers/bulk_upload_sales_results_controller.rb +++ b/app/controllers/bulk_upload_sales_results_controller.rb @@ -27,12 +27,6 @@ class BulkUploadSalesResultsController < ApplicationController authorize @bulk_upload end - def deletion_report - @bulk_upload = BulkUpload.sales.find(params[:id]) - - authorize @bulk_upload - end - private def reset_logs_filters diff --git a/app/controllers/bulk_upload_sales_resume_controller.rb b/app/controllers/bulk_upload_sales_resume_controller.rb index 9f937630d..7514d2515 100644 --- a/app/controllers/bulk_upload_sales_resume_controller.rb +++ b/app/controllers/bulk_upload_sales_resume_controller.rb @@ -31,6 +31,12 @@ class BulkUploadSalesResumeController < ApplicationController end end + def deletion_report + @bulk_upload = BulkUpload.sales.find(params[:id]) + + authorize @bulk_upload + end + private def form @@ -41,6 +47,8 @@ private Forms::BulkUploadSalesResume::Chosen.new(form_params.merge(bulk_upload: @bulk_upload)) when "confirm" Forms::BulkUploadSalesResume::Confirm.new(form_params.merge(bulk_upload: @bulk_upload)) + when "deletion-report" + Forms::BulkUploadSalesResume::DeletionReport.new(form_params.merge(bulk_upload: @bulk_upload)) else raise "invalid form" end diff --git a/app/models/forms/bulk_upload_lettings_resume/deletion_report.rb b/app/models/forms/bulk_upload_lettings_resume/deletion_report.rb new file mode 100644 index 000000000..61e7c54cd --- /dev/null +++ b/app/models/forms/bulk_upload_lettings_resume/deletion_report.rb @@ -0,0 +1,28 @@ +module Forms + module BulkUploadLettingsResume + class DeletionReport + include ActiveModel::Model + include ActiveModel::Attributes + include Rails.application.routes.url_helpers + + attribute :bulk_upload + + def view_path + "bulk_upload_lettings_resume/deletion_report" + end + + def preflight_valid? + bulk_upload.choice != "create-fix-inline" && bulk_upload.choice != "bulk-confirm-soft-validations" + end + + def preflight_redirect + case bulk_upload.choice + when "create-fix-inline" + page_bulk_upload_lettings_resume_path(bulk_upload, :chosen) + when "bulk-confirm-soft-validations" + page_bulk_upload_lettings_soft_validations_check_path(bulk_upload, :chosen) + end + end + end + end +end diff --git a/app/views/bulk_upload_lettings_resume/confirm.html.erb b/app/views/bulk_upload_lettings_resume/confirm.html.erb index 040ab8df1..368f16f60 100644 --- a/app/views/bulk_upload_lettings_resume/confirm.html.erb +++ b/app/views/bulk_upload_lettings_resume/confirm.html.erb @@ -15,7 +15,7 @@ <% if unique_answers_to_be_cleared(@bulk_upload).present? %> <%= govuk_warning_text do %> <%= deleted_errors_warning_text(@bulk_upload) %> - <%= govuk_link_to "See which answers will be deleted", deletion_report_bulk_upload_lettings_result_path %> + <%= govuk_link_to "See which answers will be deleted", deletion_report_bulk_upload_lettings_resume_path %> <% end %> <% end %> diff --git a/app/views/bulk_upload_lettings_results/deletion_report.html.erb b/app/views/bulk_upload_lettings_resume/deletion_report.html.erb similarity index 100% rename from app/views/bulk_upload_lettings_results/deletion_report.html.erb rename to app/views/bulk_upload_lettings_resume/deletion_report.html.erb diff --git a/app/views/bulk_upload_sales_resume/confirm.html.erb b/app/views/bulk_upload_sales_resume/confirm.html.erb index 16d0d5a91..3d02e025a 100644 --- a/app/views/bulk_upload_sales_resume/confirm.html.erb +++ b/app/views/bulk_upload_sales_resume/confirm.html.erb @@ -15,7 +15,7 @@ <% if unique_answers_to_be_cleared(@bulk_upload).present? %> <%= govuk_warning_text do %> <%= deleted_errors_warning_text(@bulk_upload) %> - <%= govuk_link_to "See which answers will be deleted", deletion_report_bulk_upload_sales_result_path %> + <%= govuk_link_to "See which answers will be deleted", deletion_report_bulk_upload_sales_resume_path %> <% end %> <% end %> diff --git a/app/views/bulk_upload_sales_results/deletion_report.html.erb b/app/views/bulk_upload_sales_resume/deletion_report.html.erb similarity index 100% rename from app/views/bulk_upload_sales_results/deletion_report.html.erb rename to app/views/bulk_upload_sales_resume/deletion_report.html.erb diff --git a/config/routes.rb b/config/routes.rb index d8b730bcb..cbf0e47c6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -216,7 +216,6 @@ Rails.application.routes.draw do member do get :resume get :summary - get "deletion-report" end end @@ -226,6 +225,7 @@ Rails.application.routes.draw do get "*page", to: "bulk_upload_lettings_resume#show", as: "page" patch "*page", to: "bulk_upload_lettings_resume#update" + get "deletion-report" end end @@ -281,13 +281,13 @@ Rails.application.routes.draw do member do get :resume get :summary - get "deletion-report" end end resources :bulk_upload_sales_resume, path: "bulk-upload-resume", only: %i[show update] do member do get :start + get "deletion-report" get "*page", to: "bulk_upload_sales_resume#show", as: "page" patch "*page", to: "bulk_upload_sales_resume#update"