From 65d828477432bcd8e1014ca334f40c64cc0340be Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:30:54 +0100 Subject: [PATCH] Create helpdesk ticket question --- app/controllers/merge_requests_controller.rb | 4 +++ app/helpers/merge_requests_helper.rb | 2 +- .../merge_requests/helpdesk_ticket.html.erb | 27 +++++++++++++++++++ config/routes.rb | 2 +- 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 app/views/merge_requests/helpdesk_ticket.html.erb 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 %> + +

Which helpdesk ticket reported this merge?

+
+
+

If this merge was reported via the helpdesk ticket, provide the ticket number.
The ticket will be linked to the merge request for reference.

+
+
+
+ <%= f.govuk_text_field :helpdesk_ticket, caption: { text: "Ticket number", class: "govuk-label--m" }, label: { text: "For example, MSD-12345" }%> + <%= f.hidden_field :page, value: "helpdesk_ticket" %> +
+ <%= f.govuk_submit %> + <%= govuk_link_to("Skip for now", merge_request_path(@merge_request)) %> +
+
+
+ <% end %> +
+
diff --git a/config/routes.rb b/config/routes.rb index fbb59a7d0..537d58b77 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -205,7 +205,7 @@ Rails.application.routes.draw do get "new-organisation-telephone-number" get "new-organisation-type" get "merge-date" - get "details", to: "merge_requests#details" + get "helpdesk-ticket" end end