From 5644fd371a3477df5169b4f8629bbac11dfcd66e Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Tue, 17 Oct 2023 13:55:48 +0100 Subject: [PATCH] feat: pass org id param through for support user case --- app/controllers/delete_logs_controller.rb | 4 ++-- app/controllers/duplicate_logs_controller.rb | 10 +++++++--- app/controllers/form_controller.rb | 4 ++-- app/helpers/duplicate_logs_helper.rb | 3 ++- app/views/duplicate_logs/index.html.erb | 4 ++-- app/views/logs/delete_duplicates.html.erb | 6 +++--- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/app/controllers/delete_logs_controller.rb b/app/controllers/delete_logs_controller.rb index 09eb02ecf..a0fa962ad 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"], referrer: params[:referrer]), 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], organisation_id: params[:organisation_id]), 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 @@ -56,7 +56,7 @@ class DeleteLogsController < ApplicationController logs = SalesLog.find(params.require(:ids)) discard logs if request.referer&.include?("delete-duplicates") - redirect_to sales_log_duplicate_logs_path(sales_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 sales_log_duplicate_logs_path(sales_log_id: params["remaining_log_id"], original_log_id: params["original_log_id"], referrer: params[:referrer], organisation_id: params[:organisation_id]), notice: I18n.t("notification.duplicate_logs_deleted", count: logs.count, log_ids: duplicate_log_ids(logs)) else redirect_to sales_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 11971815a..bc0d628ed 100644 --- a/app/controllers/duplicate_logs_controller.rb +++ b/app/controllers/duplicate_logs_controller.rb @@ -5,6 +5,7 @@ class DuplicateLogsController < ApplicationController before_action :find_resource_by_named_id before_action :find_duplicates_for_a_log before_action :find_original_log + before_action :find_organisation, only: [:index] before_action :find_all_duplicates, only: [:index] def show @@ -53,10 +54,9 @@ private def find_all_duplicates return @duplicates = duplicates_for_user(current_user) if current_user.data_provider? - organisation = current_user.support? ? Organisation.find(params[:organisation_id]) : current_user.organisation - return unless organisation + return unless @organisation - @duplicates = duplicates_for_organisation(organisation) + @duplicates = duplicates_for_organisation(@organisation) end def duplicate_check_question_ids @@ -87,4 +87,8 @@ private current_user.lettings_logs.find_by(id: original_log_id) end end + + def find_organisation + @organisation = current_user.support? ? Organisation.find(params[:organisation_id]) : current_user.organisation + end end diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index 7035ab4ee..593b14d18 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -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, referrer: params[:referrer]) + send("#{class_name}_duplicate_logs_path", original_log, original_log_id: original_log.id, referrer: params[:referrer], organisation_id: params[:organisation_id]) 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"), referrer: params[:referrer]) + 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], organisation_id: params[:organisation_id]) end end diff --git a/app/helpers/duplicate_logs_helper.rb b/app/helpers/duplicate_logs_helper.rb index 9dcd43a24..ad807f182 100644 --- a/app/helpers/duplicate_logs_helper.rb +++ b/app/helpers/duplicate_logs_helper.rb @@ -9,10 +9,11 @@ module DuplicateLogsHelper "#{duplicate_log.class.name.underscore}_id": duplicate_log.id, original_log_id: original_log.id, referrer: params[:referrer], + organisation_id: params[:organisation_id], ) end if params[:referrer] == "duplicate_logs_banner" - govuk_button_link_to "Review other duplicates", duplicate_logs_path(referrer: params[:referrer]) + current_user.support? ? govuk_button_link_to("Review other duplicates", organisation_duplicates_path(organisation_id: params[:organisation_id] , referrer: params[:referrer])) : 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 diff --git a/app/views/duplicate_logs/index.html.erb b/app/views/duplicate_logs/index.html.erb index e75d68183..d38e433e8 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, referrer: params[:referrer]) %> + <%= govuk_link_to "Review logs", lettings_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first, referrer: params[:referrer], organisation_id: params[:organisation_id]) %> <% 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, referrer: params[:referrer]) %> + <%= govuk_link_to "Review logs", sales_log_duplicate_logs_path(duplicate_set.first, original_log_id: duplicate_set.first, referrer: params[:referrer], organisation_id: params[:organisation_id]) %> <% end %> <% end %> <% end %> diff --git a/app/views/logs/delete_duplicates.html.erb b/app/views/logs/delete_duplicates.html.erb index 676f51eb5..b8b8545ae 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, referrer: params[:referrer]) : sales_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id, referrer: params[:referrer]) %> + <%= govuk_back_link href: @log.lettings? ? lettings_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id, referrer: params[:referrer], organisation_id: params[:organisation_id]) : sales_log_duplicate_logs_path(@original_log, original_log_id: @original_log.id, referrer: params[:referrer], organisation_id: params[:organisation_id]) %> <% end %>
@@ -29,10 +29,10 @@ <%= govuk_button_to @duplicate_logs.count == 1 ? "Delete this log" : "Delete these logs", send("delete_logs_#{@log.class.name.underscore}s_path"), method: "delete", - params: { ids: @duplicate_logs.map(&:id), original_log_id: @original_log.id, remaining_log_id: @log.id, referrer: params[:referrer] } %> + params: { ids: @duplicate_logs.map(&:id), original_log_id: @original_log.id, remaining_log_id: @log.id, referrer: params[:referrer],organisation_id: params[:organisation_id] } %> <%= govuk_button_link_to( "Cancel", - send("#{@log.class.name.underscore}_duplicate_logs_path", @original_log, original_log_id: @original_log.id, referrer: params[:referrer]), + send("#{@log.class.name.underscore}_duplicate_logs_path", @original_log, original_log_id: @original_log.id, referrer: params[:referrer], organisation_id: params[:organisation_id]), secondary: true, ) %>