Browse Source

Display all duplicate logs

pull/1763/head
Kat 3 years ago
parent
commit
5849cf6eff
  1. 5
      app/controllers/duplicate_logs_controller.rb
  2. 2
      app/helpers/tag_helper.rb
  3. 26
      app/views/duplicate_logs/_duplicate_log.html.erb
  4. 5
      app/views/duplicate_logs/show.erb
  5. 7
      spec/requests/form_controller_spec.rb

5
app/controllers/duplicate_logs_controller.rb

@ -1,2 +1,7 @@
class DuplicateLogsController < ApplicationController 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 end

2
app/helpers/tag_helper.rb

@ -12,6 +12,7 @@ module TagHelper
activating_soon: "Activating soon", activating_soon: "Activating soon",
reactivating_soon: "Reactivating soon", reactivating_soon: "Reactivating soon",
deactivated: "Deactivated", deactivated: "Deactivated",
deleted: "Deleted",
}.freeze }.freeze
COLOUR = { COLOUR = {
@ -25,6 +26,7 @@ module TagHelper
activating_soon: "blue", activating_soon: "blue",
reactivating_soon: "blue", reactivating_soon: "blue",
deactivated: "grey", deactivated: "grey",
deleted: "red",
}.freeze }.freeze
def status_tag(status, classes = []) def status_tag(status, classes = [])

26
app/views/duplicate_logs/_duplicate_log.html.erb

@ -0,0 +1,26 @@
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-third">
<header class="app-log-summary__header">
<h2 class="app-log-summary__title">
<%= govuk_link_to "Log #{log.id}", lettings_log_path(log) %>
</h2>
</header>
</div>
<div class="govuk-grid-column-two-thirds">
<p class="govuk-body">
Created <time datetime="<%= log.created_at.iso8601 %>"><%= log.created_at.to_formatted_s(:govuk_date) %></time>
<% if log.created_by %>
<span class="app-log-summary__footer--actor">Assigned to <%= log.created_by.name || log.created_by.email %></span>
<% end %>
</p>
</div>
</div>
</div>
<div class="govuk-grid-column-one-third app-log-summary__footer">
<p class="govuk-body govuk-!-margin-bottom-2">
<%= status_tag(log.status) %>
</p>
</div>
</div>

5
app/views/duplicate_logs/show.html.erb → app/views/duplicate_logs/show.erb

@ -1,5 +1,4 @@
<% content_for :title, "Check duplicate logs" %> <% content_for :title, "Check duplicate logs" %>
<div class="govuk-grid-row"> <div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds"> <div class="govuk-grid-column-two-thirds">
<%= govuk_panel( <%= govuk_panel(
@ -8,5 +7,9 @@
<p class="govuk-heading-l">These logs are duplicates</p> <p class="govuk-heading-l">These logs are duplicates</p>
<p class="govuk-body-l">These logs have the same values for the following fields. Choose one to keep or correct the answers.</p> <p class="govuk-body-l">These logs have the same values for the following fields. Choose one to keep or correct the answers.</p>
<% end %> <% end %>
<% @all_duplicates.each do |log| %>
<%= render partial: "duplicate_log", locals: { log: log } %>
<% end %>
</div> </div>
</div> </div>

7
spec/requests/form_controller_spec.rb

@ -546,6 +546,13 @@ RSpec.describe FormController, type: :request do
follow_redirect! follow_redirect!
expect(page).to have_content("These logs are duplicates") expect(page).to have_content("These logs are duplicates")
end 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
end end

Loading…
Cancel
Save