From 5849cf6effe5fd64aa868e0d5585bed7fa366916 Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 10 Jul 2023 09:20:29 +0100 Subject: [PATCH] Display all duplicate logs --- app/controllers/duplicate_logs_controller.rb | 5 ++++ app/helpers/tag_helper.rb | 2 ++ .../duplicate_logs/_duplicate_log.html.erb | 26 +++++++++++++++++++ .../{show.html.erb => show.erb} | 7 +++-- spec/requests/form_controller_spec.rb | 7 +++++ 5 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 app/views/duplicate_logs/_duplicate_log.html.erb rename app/views/duplicate_logs/{show.html.erb => show.erb} (75%) diff --git a/app/controllers/duplicate_logs_controller.rb b/app/controllers/duplicate_logs_controller.rb index 3a9baf900..6dfc7074a 100644 --- a/app/controllers/duplicate_logs_controller.rb +++ b/app/controllers/duplicate_logs_controller.rb @@ -1,2 +1,7 @@ class DuplicateLogsController < ApplicationController + def show + @log = LettingsLog.find(params[:lettings_log_id]) + @duplicate_logs = LettingsLog.duplicate_logs_for_organisation(current_user.organisation_id, @log) + @all_duplicates = [@log, *@duplicate_logs] + end end diff --git a/app/helpers/tag_helper.rb b/app/helpers/tag_helper.rb index 074ef21ed..5a7498b78 100644 --- a/app/helpers/tag_helper.rb +++ b/app/helpers/tag_helper.rb @@ -12,6 +12,7 @@ module TagHelper activating_soon: "Activating soon", reactivating_soon: "Reactivating soon", deactivated: "Deactivated", + deleted: "Deleted", }.freeze COLOUR = { @@ -25,6 +26,7 @@ module TagHelper activating_soon: "blue", reactivating_soon: "blue", deactivated: "grey", + deleted: "red", }.freeze def status_tag(status, classes = []) diff --git a/app/views/duplicate_logs/_duplicate_log.html.erb b/app/views/duplicate_logs/_duplicate_log.html.erb new file mode 100644 index 000000000..5d44f2fd8 --- /dev/null +++ b/app/views/duplicate_logs/_duplicate_log.html.erb @@ -0,0 +1,26 @@ +
+
+
+
+
+

+ <%= govuk_link_to "Log #{log.id}", lettings_log_path(log) %> +

+
+
+
+

+ Created + <% if log.created_by %> + Assigned to <%= log.created_by.name || log.created_by.email %> + <% end %> +

+
+
+
+ +
diff --git a/app/views/duplicate_logs/show.html.erb b/app/views/duplicate_logs/show.erb similarity index 75% rename from app/views/duplicate_logs/show.html.erb rename to app/views/duplicate_logs/show.erb index 2df116807..919195655 100644 --- a/app/views/duplicate_logs/show.html.erb +++ b/app/views/duplicate_logs/show.erb @@ -1,5 +1,4 @@ <% content_for :title, "Check duplicate logs" %> -
<%= govuk_panel( @@ -8,5 +7,9 @@

These logs are duplicates

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

<% end %> + + <% @all_duplicates.each do |log| %> + <%= render partial: "duplicate_log", locals: { log: log } %> + <% end %>
-
\ No newline at end of file + diff --git a/spec/requests/form_controller_spec.rb b/spec/requests/form_controller_spec.rb index 60a0b59f1..113acc009 100644 --- a/spec/requests/form_controller_spec.rb +++ b/spec/requests/form_controller_spec.rb @@ -546,6 +546,13 @@ RSpec.describe FormController, type: :request do follow_redirect! expect(page).to have_content("These logs are duplicates") end + + it "displays links to all the duplicate logs" do + follow_redirect! + expect(page).to have_link("Log #{lettings_log.id}", href: "/lettings-logs/#{lettings_log.id}") + expect(page).to have_link("Log #{duplicate_logs.first.id}", href: "/lettings-logs/#{duplicate_logs.first.id}") + expect(page).to have_link("Log #{duplicate_logs.second.id}", href: "/lettings-logs/#{duplicate_logs.second.id}") + end end end