diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index 5d1e2550e..6e42e047f 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -11,6 +11,7 @@ class MergeRequestsController < ApplicationController new_organisation_telephone_number new_organisation_type merge_date + details ] before_action :authenticate_user! before_action :authenticate_scope!, except: [:create] @@ -47,6 +48,11 @@ class MergeRequestsController < ApplicationController end end + def details + @merge_request = MergeRequest.find(params[:id]) + render :details + end + def update_organisations merge_request_organisation = MergeRequestOrganisation.new(merge_request_organisation_params) @answer_options = organisations_answer_options diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb new file mode 100644 index 000000000..e687dec4a --- /dev/null +++ b/app/helpers/merge_requests_helper.rb @@ -0,0 +1,5 @@ +module MergeRequestsHelper + def display_value_or_placeholder(value, placeholder = "You didn't answer this question") + value.presence || content_tag(:span, placeholder, class: "app-!-colour-muted") + end +end diff --git a/app/views/merge_requests/details.html.erb b/app/views/merge_requests/details.html.erb new file mode 100644 index 000000000..45d1cc6b9 --- /dev/null +++ b/app/views/merge_requests/details.html.erb @@ -0,0 +1,158 @@ +<% content_for :before_content do %> + <% title = "Merge details: #{@merge_request.absorbing_organisation_name}" %> + <% content_for :title, title %> + + <%= govuk_back_link href: "#{organisations_path}#merge-requests" %> +<% end %> +<% unless @merge_request.signed_dsa %> +
+<% end %> +| Request details | +||
|---|---|---|
| Requester | +<%= display_value_or_placeholder(@merge_request.requesting_user&.name) %> | ++ |
| Helpdesk ticket | + <% ticket_base_url = "https://dluhcdigital.atlassian.net/browse/" %> ++ <% if @merge_request.helpdesk_ticket.blank? %> + <%= display_value_or_placeholder(nil) %> + <% else %> + + <%= @merge_request.helpdesk_ticket %> (opens in a new tab) + + <% end %> + | +Change | +
| Status | +<%= status_tag(@merge_request.status) %> | ++ |
| Merge details | +||
|---|---|---|
| Absorbing organisation | +<%= display_value_or_placeholder(@merge_request.absorbing_organisation_name) %> | +Change | +
| Merging organisations | +
+ <% if @merge_request.other_merging_organisations.blank? %>
+ <%= display_value_or_placeholder(nil) %>
+ <% else %>
+ <% @merge_request.other_merging_organisations.split(',').each do |organisation| %>
+ <%= organisation.strip %> + <% end %> + <% end %> + |
+ Change | +
| Merge date | +<%= display_value_or_placeholder(@merge_request.merge_date) %> | +Change | +
| Merge outcomes | +||
|---|---|---|
| Total users after merge | +<%= display_value_or_placeholder(@merge_request.total_users) %> | +View | +
| Total schemes after merge | +<%= display_value_or_placeholder(@merge_request.total_schemes) %> | +View | +
| Total logs after merge | +
+ <% if @merge_request.total_lettings_logs.blank? && @merge_request.total_sales_logs.blank? %>
+ <%= display_value_or_placeholder(nil) %>
+ <% else %>
+ <% unless @merge_request.total_lettings_logs.blank? %>
+ <%= @merge_request.total_lettings_logs %> lettings logs
+ <% end %>
+ + <% unless @merge_request.total_sales_logs.blank? %> + <%= @merge_request.total_sales_logs %> sales logs + <% end %> + <% end %> + |
+ View | +
| Total stock owners & managing agents after merge | +
+ <% if @merge_request.total_stock_owners.blank? && @merge_request.total_managing_agents.blank? %>
+ <%= display_value_or_placeholder(nil) %>
+ <% else %>
+ <% unless @merge_request.total_stock_owners.blank? %>
+ <%= @merge_request.total_stock_owners %> stock owners
+ <% end %>
+ + <% unless @merge_request.total_managing_agents.blank? %> + <%= @merge_request.total_managing_agents %> managing agents + <% end %> + <% end %> + |
+ View | +
No merge requests
<% else %> <%= govuk_table do |table| %> - <%= table.with_caption(classes: %w[govuk-!-font-size-19 govuk-!-font-weight-regular]) do |caption| %> + <%= table.with_caption(classes: %w[govuk-!-font-size-19 govuk-!-font-weight-regular]) do %> <%= @merge_requests.where.not(status: 4).count %> unresolved merge requests <% end %> <%= table.with_head do |head| %> @@ -48,7 +48,7 @@ <% row.with_cell(html_attributes: { scope: "row", }) do %> - <%= govuk_link_to("View details", "/merge-request/#{merge_request.id}/organisations") %> + <%= govuk_link_to("View details", "/merge-request/#{merge_request.id}/details") %> <% end %> <% end %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index e0d9631e9..fbb59a7d0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -205,6 +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" end end