diff --git a/app/controllers/duplicate_logs_controller.rb b/app/controllers/duplicate_logs_controller.rb index 311a9afb4..3a9baf900 100644 --- a/app/controllers/duplicate_logs_controller.rb +++ b/app/controllers/duplicate_logs_controller.rb @@ -1,3 +1,2 @@ class DuplicateLogsController < ApplicationController - include duplicate end diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index a56ba3dca..8466c8e64 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -50,9 +50,6 @@ class FormController < ApplicationController @interruption_page_id = URI.parse(request.headers["HTTP_REFERER"]).path.split("/").last.underscore @interruption_page_referrer_type = referrer_from_query end - if @log.duplicate_logs? - redirect_to - end if @log page_id = request.path.split("/")[-1].underscore @page = form.get_page(page_id) @@ -157,6 +154,10 @@ private end def successful_redirect_path + if LettingsLog.duplicate_logs_for_organisation(current_user.organisation, @log).count.positive? + return send("#{@log.class.name.underscore}_duplicate_logs_path", @log) + end + if is_referrer_type?("check_answers") next_page_id = form.next_page_id(@page, @log, current_user) next_page = form.get_page(next_page_id) diff --git a/app/views/duplicate_logs/_banner.html.erb b/app/views/duplicate_logs/_banner.html.erb deleted file mode 100644 index 14a89b770..000000000 --- a/app/views/duplicate_logs/_banner.html.erb +++ /dev/null @@ -1,13 +0,0 @@ -<% if question.page.routed_to?(@log, current_user) %> - <%= govuk_panel( - classes: "app-panel--interruption", - ) do %> -

<%= display_title_text(title_text, lettings_log) %>

- <% if informative_text.present? %> -

<%= display_informative_text(informative_text, lettings_log) %>

- <% end %> - <% if question.hint_text.present? %> -

<%= question.hint_text&.html_safe %>

- <% end %> - <% end %> -<% end %> diff --git a/app/views/duplicate_logs/show.html.erb b/app/views/duplicate_logs/show.html.erb index 79123af8d..2df116807 100644 --- a/app/views/duplicate_logs/show.html.erb +++ b/app/views/duplicate_logs/show.html.erb @@ -1,5 +1,12 @@ <% content_for :title, "Check duplicate logs" %> -back button -Duplicate logs blue box -List or components +
+
+ <%= govuk_panel( + classes: "app-panel--interruption", + ) do %> +

These logs are duplicates

+

These logs have the same values for the following fields. Choose one to keep or correct the answers.

+ <% end %> +
+
\ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 8b61f1ece..c1f817aea 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -170,6 +170,7 @@ Rails.application.routes.draw do resources :lettings_logs, path: "/lettings-logs" do get "delete-confirmation", to: "lettings_logs#delete_confirmation" + get "duplicate-logs", to: "duplicate_logs#show" collection do post "bulk-upload", to: "bulk_upload#bulk_upload" diff --git a/spec/requests/form_controller_spec.rb b/spec/requests/form_controller_spec.rb index 0f086d27a..60a0b59f1 100644 --- a/spec/requests/form_controller_spec.rb +++ b/spec/requests/form_controller_spec.rb @@ -532,6 +532,21 @@ RSpec.describe FormController, type: :request do expect(whodunnit_actor).to be_a(User) expect(whodunnit_actor.id).to eq(user.id) end + + context "and duplicate logs" do + let(:duplicate_logs) { create_list(:lettings_log, 2) } + + before do + allow(LettingsLog).to receive(:duplicate_logs_for_organisation).and_return(duplicate_logs) + post "/lettings-logs/#{lettings_log.id}/#{page_id.dasherize}", params: + end + + it "redirects to the duplicate logs page" do + expect(response).to redirect_to("/lettings-logs/#{lettings_log.id}/duplicate-logs") + follow_redirect! + expect(page).to have_content("These logs are duplicates") + end + end end context "when the question has a conditional question" do