You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.9 KiB
93 lines
3.9 KiB
<% content_for :title, @page.header.presence || @page.questions.first.header.html_safe %> |
|
<% if accessed_from_duplicate_logs?(request.query_parameters["referrer"]) %> |
|
<% content_for :before_content do %> |
|
<%= govuk_back_link(href: duplicate_log_set_path(@log, request.query_parameters["original_log_id"])) %> |
|
<% end %> |
|
<% else %> |
|
<% content_for :breadcrumbs, govuk_breadcrumbs(breadcrumbs: { |
|
"Home" => root_path, |
|
breadcrumb_logs_title(@log, current_user) => breadcrumb_logs_link(@log, current_user), |
|
"Log #{@log.id}" => url_for(@log), |
|
@subsection.label => relevant_check_answers_path(@log, @subsection), |
|
}) %> |
|
<% end %> |
|
|
|
<div data-controller="govukfrontend"></div> |
|
<%= form_with model: @log, url: request.original_url, method: "post", local: true do |f| %> |
|
<div class="govuk-grid-row"> |
|
<div class="govuk-grid-column-two-thirds-from-desktop"> |
|
<% all_questions_with_errors = all_questions_affected_by_errors(@log) %> |
|
<% remove_other_page_errors(@log, @page) %> |
|
<%= f.govuk_error_summary %> |
|
|
|
<% if @page.header.present? || @page.header_partial.present? %> |
|
<h1 class="govuk-heading-l"> |
|
<% if !@page.hide_subsection_label %> |
|
<span class="govuk-caption-l"><%= @subsection.label %></span> |
|
<% end %> |
|
<% if @page.header_partial.present? %> |
|
<%= render partial: "form/headers/#{@page.header_partial}", locals: { log: @log } %> |
|
<% else %> |
|
<%= @page.header %> |
|
<% end %> |
|
</h1> |
|
<% end %> |
|
|
|
<% if @page.description.present? %> |
|
<p class="govuk-body govuk-body-m"><%= @page.description.html_safe %></p> |
|
<% end %> |
|
|
|
<% @page.non_conditional_questions.map do |question| %> |
|
<div id="<%= question.id %>_div" <%= display_question_key_div(@page, question) %>> |
|
<% if question.read_only? %> |
|
<%= govuk_section_break(visible: true, size: "m") %> |
|
<% end %> |
|
<% if question.type == "interruption_screen" %> |
|
<%= render partial: "form/#{question.type}_question", locals: { |
|
question:, |
|
caption_text: @subsection.label, |
|
page_header: @page.header, |
|
lettings_log: @log, |
|
title_text: @page.title_text, |
|
informative_text: @page.informative_text, |
|
form: @form, |
|
f:, |
|
conditional: false, |
|
} %> |
|
<% else %> |
|
<%= render partial: "form/#{question.type}_question", locals: { |
|
question:, |
|
caption_text: @page.header_partial.present? ? nil : @subsection.label, |
|
page_header: @page.header, |
|
lettings_log: @log, |
|
f:, |
|
conditional: false, |
|
} %> |
|
<% end %> |
|
</div> |
|
<% end %> |
|
|
|
<%= f.hidden_field :page, value: @page.id %> |
|
<%= f.hidden_field :interruption_page_id, value: @interruption_page_id %> |
|
<%= f.hidden_field :interruption_page_referrer_type, value: @interruption_page_referrer_type %> |
|
<%= f.hidden_field :related_question_ids, value: @related_question_ids %> |
|
<%= f.hidden_field :original_page_id, value: @original_page_id %> |
|
<% if @check_errors %> |
|
<%= f.hidden_field :check_errors, value: @check_errors %> |
|
<% end %> |
|
|
|
<% if all_questions_with_errors.count > 1 %> |
|
<div class="govuk-button-group"> |
|
<%= f.submit "See all related answers", name: "check_errors", class: "govuk-body govuk-link submit-button-link" %> |
|
</div> |
|
<% end %> |
|
|
|
<div class="govuk-button-group"> |
|
<% if !@page.interruption_screen? %> |
|
<%= f.govuk_submit submit_button_text(@page, request.query_parameters["referrer"]) %> |
|
<%= govuk_link_to cancel_button_text(@page, request.query_parameters["referrer"]), cancel_button_link(@page, request.query_parameters["referrer"], request.query_parameters["original_log_id"], @log) %> |
|
<% end %> |
|
</div> |
|
</div> |
|
</div> |
|
<% end %>
|
|
|