diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 09a65f405..8318b533a 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -53,4 +53,19 @@ module MergeRequestsHelper def accessed_from_check_answers?(referrer) %w[check_answers].include?(referrer) end + + def merge_request_back_link(merge_request, page, referrer) + return merge_request_path(merge_request) if accessed_from_check_answers?(referrer) + + case page + when "absorbing_organisation" + organisations_path(anchor: "merge-requests") + when "merging_organisations" + absorbing_organisation_merge_request_path(merge_request) + when "merge_date" + merging_organisations_merge_request_path(merge_request) + when "helpdesk_ticket" + merge_date_merge_request_path(merge_request) + end + end end diff --git a/app/views/merge_requests/absorbing_organisation.html.erb b/app/views/merge_requests/absorbing_organisation.html.erb index 33c246bb7..40faa88f5 100644 --- a/app/views/merge_requests/absorbing_organisation.html.erb +++ b/app/views/merge_requests/absorbing_organisation.html.erb @@ -1,7 +1,7 @@ <% content_for :before_content do %> <% title = "Tell us if your organisation is merging" %> <% content_for :title, title %> - <%= govuk_back_link href: organisations_path(anchor: "merge-requests") %> + <%= govuk_back_link href: merge_request_back_link(@merge_request, "absorbing_organisation", request.query_parameters["referrer"]) %> <% end %> <%= form_with model: @merge_request, url: merge_request_path, method: :patch do |f| %> diff --git a/app/views/merge_requests/helpdesk_ticket.html.erb b/app/views/merge_requests/helpdesk_ticket.html.erb index accaf4aca..18e06121b 100644 --- a/app/views/merge_requests/helpdesk_ticket.html.erb +++ b/app/views/merge_requests/helpdesk_ticket.html.erb @@ -1,7 +1,7 @@ <% content_for :before_content do %> <% title = "Which helpdesk ticket reported this merge?" %> <% content_for :title, title %> - <%= govuk_back_link href: merge_date_merge_request_path(@merge_request) %> + <%= govuk_back_link href: merge_request_back_link(@merge_request, "helpdesk_ticket", request.query_parameters["referrer"]) %> <% end %> <%= form_with model: @merge_request, url: merge_request_path, method: :patch do |f| %> diff --git a/app/views/merge_requests/merge_date.html.erb b/app/views/merge_requests/merge_date.html.erb index 90cb22159..84b93e44f 100644 --- a/app/views/merge_requests/merge_date.html.erb +++ b/app/views/merge_requests/merge_date.html.erb @@ -1,7 +1,7 @@ <% content_for :before_content do %> <% title = "Tell us if your organisation is merging" %> <% content_for :title, title %> - <%= govuk_back_link href: merging_organisations_merge_request_path(@merge_request) %> + <%= govuk_back_link href: merge_request_back_link(@merge_request, "merge_date", request.query_parameters["referrer"]) %> <% end %>
diff --git a/app/views/merge_requests/merging_organisations.html.erb b/app/views/merge_requests/merging_organisations.html.erb index d1509492e..2b58cd49e 100644 --- a/app/views/merge_requests/merging_organisations.html.erb +++ b/app/views/merge_requests/merging_organisations.html.erb @@ -1,7 +1,7 @@ <% content_for :before_content do %> <% title = "Tell us if your organisation is merging" %> <% content_for :title, title %> - <%= govuk_back_link href: merge_request_organisation_path(id: @merge_request.requesting_organisation_id) %> + <%= govuk_back_link href: merge_request_back_link(@merge_request, "merging_organisations", request.query_parameters["referrer"]) %> <% end %> <%= form_with model: @merge_request, url: merging_organisations_merge_request_path(referrer: request.query_parameters["referrer"]), method: :patch do |f| %>