diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index 6d7738204..e5ca945db 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -12,6 +12,7 @@ class MergeRequestsController < ApplicationController def new_organisation_telephone_number; end def new_organisation_type; end def merge_date; end + def helpdesk_ticket; end def create ActiveRecord::Base.transaction do @@ -62,6 +63,8 @@ private else confirm_telephone_number_merge_request_path(@merge_request) end + when "helpdesk_ticket" + merge_request_path(@merge_request) when "confirm_telephone_number" merge_date_merge_request_path(@merge_request) when "new_organisation_name" @@ -97,6 +100,7 @@ private merge_params = params.fetch(:merge_request, {}).permit( :requesting_organisation_id, :other_merging_organisations, + :helpdesk_ticket, :status, :absorbing_organisation_id, :telephone_number_correct, diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 9f6afe1df..e82ff0f87 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -6,7 +6,7 @@ module MergeRequestsHelper def request_details(merge_request) [ { label: "Requester", value: display_value_or_placeholder(merge_request.requester&.name) }, - { label: "Helpdesk ticket", value: merge_request.helpdesk_ticket.present? ? link_to("#{merge_request.helpdesk_ticket} (opens in a new tab)", "https://dluhcdigital.atlassian.net/browse/#{merge_request.helpdesk_ticket}", target: "_blank", rel: "noopener noreferrer") : display_value_or_placeholder(nil), action: merge_request.status == "request_merged" ? nil : { text: "Change", href: "#", visually_hidden_text: "helpdesk ticket" } }, + { label: "Helpdesk ticket", value: merge_request.helpdesk_ticket.present? ? link_to("#{merge_request.helpdesk_ticket} (opens in a new tab)", "https://dluhcdigital.atlassian.net/browse/#{merge_request.helpdesk_ticket}", target: "_blank", rel: "noopener noreferrer") : display_value_or_placeholder(nil), action: merge_request.status == "request_merged" ? nil : { text: "Change", href: helpdesk_ticket_merge_request_path(merge_request), visually_hidden_text: "helpdesk ticket" } }, { label: "Status", value: status_tag(merge_request.status) }, ] end diff --git a/app/views/merge_requests/helpdesk_ticket.html.erb b/app/views/merge_requests/helpdesk_ticket.html.erb new file mode 100644 index 000000000..6c2fe741a --- /dev/null +++ b/app/views/merge_requests/helpdesk_ticket.html.erb @@ -0,0 +1,27 @@ +<% 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) %> +<% end %> + +<%= form_with model: @merge_request, url: merge_request_path, method: :patch do |f| %> + <%= f.govuk_error_summary %> + +
If this merge was reported via the helpdesk ticket, provide the ticket number.
The ticket will be linked to the merge request for reference.