diff --git a/app/controllers/delete_logs_controller.rb b/app/controllers/delete_logs_controller.rb index 5f4c97cbd..09eb02ecf 100644 --- a/app/controllers/delete_logs_controller.rb +++ b/app/controllers/delete_logs_controller.rb @@ -27,7 +27,7 @@ class DeleteLogsController < ApplicationController logs = LettingsLog.find(params.require(:ids)) discard logs if request.referer&.include?("delete-duplicates") - redirect_to lettings_log_duplicate_logs_path(lettings_log_id: params["remaining_log_id"], original_log_id: params["original_log_id"]), notice: I18n.t("notification.duplicate_logs_deleted", count: logs.count, log_ids: duplicate_log_ids(logs)) + redirect_to lettings_log_duplicate_logs_path(lettings_log_id: params["remaining_log_id"], original_log_id: params["original_log_id"], referrer: params[:referrer]), notice: I18n.t("notification.duplicate_logs_deleted", count: logs.count, log_ids: duplicate_log_ids(logs)) else redirect_to lettings_logs_path, notice: I18n.t("notification.logs_deleted", count: logs.count) end diff --git a/app/controllers/duplicate_logs_controller.rb b/app/controllers/duplicate_logs_controller.rb index bc7579e17..11971815a 100644 --- a/app/controllers/duplicate_logs_controller.rb +++ b/app/controllers/duplicate_logs_controller.rb @@ -26,10 +26,8 @@ class DuplicateLogsController < ApplicationController end def index - render_not_found if @duplicates.blank? - @duplicate_sets_count = @duplicates[:lettings].count + @duplicates[:sales].count - render_not_found if @duplicate_sets_count.zero? + render "duplicate_logs/no_more_duplicates" if @duplicate_sets_count.zero? end private diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index e023a847a..7035ab4ee 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -165,7 +165,7 @@ private def successful_redirect_path if FeatureToggle.deduplication_flow_enabled? - if is_referrer_type?("duplicate_logs") + if is_referrer_type?("duplicate_logs") || is_referrer_type?("duplicate_logs_banner") return correcting_duplicate_logs_redirect_path end @@ -251,10 +251,10 @@ private if original_log.present? && current_user.send(class_name.pluralize).duplicate_logs(original_log).count.positive? flash[:notice] = deduplication_success_banner unless current_user.send(class_name.pluralize).duplicate_logs(@log).count.positive? - send("#{class_name}_duplicate_logs_path", original_log, original_log_id: original_log.id) + send("#{class_name}_duplicate_logs_path", original_log, original_log_id: original_log.id, referrer: params[:referrer]) else flash[:notice] = deduplication_success_banner - send("#{class_name}_duplicate_logs_path", "#{class_name}_id".to_sym => from_referrer_query("first_remaining_duplicate_id"), original_log_id: from_referrer_query("original_log_id")) + send("#{class_name}_duplicate_logs_path", "#{class_name}_id".to_sym => from_referrer_query("first_remaining_duplicate_id"), original_log_id: from_referrer_query("original_log_id"), referrer: params[:referrer]) end end diff --git a/app/helpers/duplicate_logs_helper.rb b/app/helpers/duplicate_logs_helper.rb index e296cab1e..9dcd43a24 100644 --- a/app/helpers/duplicate_logs_helper.rb +++ b/app/helpers/duplicate_logs_helper.rb @@ -8,10 +8,12 @@ module DuplicateLogsHelper action: "delete_duplicates", "#{duplicate_log.class.name.underscore}_id": duplicate_log.id, original_log_id: original_log.id, + referrer: params[:referrer], ) end - - if !original_log.deleted? + if params[:referrer] == "duplicate_logs_banner" + govuk_button_link_to "Review other duplicates", duplicate_logs_path(referrer: params[:referrer]) + elsif !original_log.deleted? govuk_button_link_to "Back to Log #{original_log.id}", send("#{original_log.class.name.underscore}_path", original_log) else type = duplicate_log.lettings? ? "lettings" : "sales" @@ -25,7 +27,7 @@ module DuplicateLogsHelper def change_duplicate_logs_action_href(log, page_id, all_duplicates, original_log_id) first_remaining_duplicate_id = all_duplicates.map(&:id).reject { |id| id == log.id }.first - send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: "duplicate_logs", first_remaining_duplicate_id:, original_log_id:) + send("#{log.model_name.param_key}_#{page_id}_path", log, referrer: params[:referrer] == "duplicate_logs_banner" ? "duplicate_logs_banner" : "duplicate_logs", first_remaining_duplicate_id:, original_log_id:) end def duplicates_for_user(user) diff --git a/app/services/csv/sales_log_csv_service.rb b/app/services/csv/sales_log_csv_service.rb index 89bfdeb8c..e5b866038 100644 --- a/app/services/csv/sales_log_csv_service.rb +++ b/app/services/csv/sales_log_csv_service.rb @@ -58,12 +58,6 @@ module Csv end }.freeze - AGE_KNOWN_FIELDS = {}.tap { |hash| - (1..6).each do |i| - hash["age#{i}"] = { "age_known_field" => "age#{i}_known" } - end - }.freeze - FIELDS_ALWAYS_EXPORTED_AS_CODES = %w[ la prevloc diff --git a/app/views/duplicate_logs/index.html.erb b/app/views/duplicate_logs/index.html.erb index f8a81cc29..e75d68183 100644 --- a/app/views/duplicate_logs/index.html.erb +++ b/app/views/duplicate_logs/index.html.erb @@ -24,7 +24,7 @@ <% row.cell text: "Lettings" %> <% row.cell text: duplicate_set.map { |id| "Log #{id}" }.join(", ") %> <% row.cell do %> - <%= govuk_link_to "Review logs", lettings_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first) %> + <%= govuk_link_to "Review logs", lettings_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first, referrer: params[:referrer]) %> <% end %> <% end %> <% end %> @@ -33,7 +33,7 @@ <% row.cell text: "Sales" %> <% row.cell text: duplicate_set.map { |id| "Log #{id}" }.join(", ") %> <% row.cell do %> - <%= govuk_link_to "Review logs", sales_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first) %> + <%= govuk_link_to "Review logs", sales_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first, referrer: params[:referrer]) %> <% end %> <% end %> <% end %> diff --git a/app/views/duplicate_logs/no_more_duplicates.html.erb b/app/views/duplicate_logs/no_more_duplicates.html.erb new file mode 100644 index 000000000..48bc50790 --- /dev/null +++ b/app/views/duplicate_logs/no_more_duplicates.html.erb @@ -0,0 +1,11 @@ +
+ You have either changed or deleted all the duplicate logs. +
+ +<%= govuk_button_link_to "Back to all logs", lettings_logs_path %> diff --git a/app/views/logs/delete_duplicates.html.erb b/app/views/logs/delete_duplicates.html.erb index 4acfc2314..676f51eb5 100644 --- a/app/views/logs/delete_duplicates.html.erb +++ b/app/views/logs/delete_duplicates.html.erb @@ -1,6 +1,6 @@ <% content_for :before_content do %> <% content_for :title, "Are you sure you want to delete #{@duplicate_logs.count == 1 ? 'this duplicate log' : 'these duplicate logs'}?" %> - <%= govuk_back_link href: @log.lettings? ? lettings_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id) : sales_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id) %> + <%= govuk_back_link href: @log.lettings? ? lettings_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id, referrer: params[:referrer]) : sales_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id, referrer: params[:referrer]) %> <% end %>