metadata_presenter 3.3.35 → 3.3.37

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1c0f9efcd3ccefe26dbbd01e6503a4e47a84e7d68df5dae76299ac53c869e70
4
- data.tar.gz: bb54be9040c515c64ace352d337b5b2aa000260647e02164738f047550eaa2a0
3
+ metadata.gz: 0ed2afa8c292c6820d2d3747c25f2b9a965dddd67cc0cd95d31e38acdd242c8b
4
+ data.tar.gz: 965a30d35f8d8bae6ba4e3e06b6ff3ffd829e68f0a1d99765ba467cb496da6f9
5
5
  SHA512:
6
- metadata.gz: 25bfcf637501fcebaf73c1d4058188cb4350c3a8420c9da4ecbc54de89aae31da70a6ef0e410874c968f42608b60ed4550a86d90a0bc841d96aa88be92b23347
7
- data.tar.gz: f4bbcf62535963748332e4a6addfb1b93c0d74f3939ad706dca7da9968f8ce64ecfe6b83a96eb8e458129aa0c19b844a20e5f5f44d0f584bfd98dd91984921c6
6
+ metadata.gz: 48f0aeff6cfa36f67c126193a668c3cacd1db2f597d35bcab9e6a1808965b202679e212d968c77b7b90ba5ae992c5ef8e9c44604d2f76f93b8f595cfb4ed88cb
7
+ data.tar.gz: f56a95a4f10b0ce84a45e619df5cd846c4527a941bf4a205bb8b9a0a258b25609ba46cfdfefc7cac54ace51c5281e1cf0434ad4ab9d442d03e91f21b9f6fea6f
@@ -0,0 +1,27 @@
1
+ module MetadataPresenter
2
+ module Summary
3
+ class AnswersPresenter
4
+ attr_reader :page_answers
5
+
6
+ def initialize(page_answers)
7
+ @page_answers = page_answers
8
+ end
9
+
10
+ def page
11
+ @page ||= answers.first.page
12
+ end
13
+
14
+ def answers
15
+ @answers ||= page_answers.select { |pa| pa.answer.present? }
16
+ end
17
+
18
+ def multi_questions_page?
19
+ page.type.eql?('page.multiplequestions')
20
+ end
21
+
22
+ def to_partial_path
23
+ 'metadata_presenter/resume/answers_presenter'.freeze
24
+ end
25
+ end
26
+ end
27
+ end
@@ -52,10 +52,16 @@ module MetadataPresenter
52
52
  # Assuming for example that the schema key is 'grogu' then the message
53
53
  # will lookup for 'errors.grogu.any'.
54
54
  #
55
- # @return [String] message from the service metadata
55
+ # If there is a custom message defined in the locales, it will take
56
+ # precedence. Example: `presenter.components.upload.errors.required`
57
+ #
58
+ # @return [String] custom error message or `nil`
56
59
  #
57
60
  def custom_error_message
58
- message = component.dig('errors', schema_key, 'any')
61
+ message = I18n.t(
62
+ "presenter.components.#{component.type}.errors.#{schema_key}",
63
+ default: component.dig('errors', schema_key, 'any')
64
+ )
59
65
 
60
66
  message % error_message_hash if message.present?
61
67
  end
@@ -0,0 +1,27 @@
1
+ <% if answers_presenter.answers.any? %>
2
+ <% if answers_presenter.multi_questions_page? %>
3
+ <h2 class="govuk-heading-m">
4
+ <%= answers_presenter.page.heading %>
5
+ </h2>
6
+ <% end %>
7
+
8
+ <dl class="fb-block fb-block-answers govuk-summary-list">
9
+ <% answers_presenter.answers.each do |answer| %>
10
+ <div class="govuk-summary-list__row">
11
+ <dt class="govuk-summary-list__key">
12
+ <%= answer.humanised_title %>
13
+ </dt>
14
+
15
+ <dd class="govuk-summary-list__value">
16
+ <%= answer.answer %>
17
+ </dd>
18
+
19
+ <dd class="govuk-summary-list__actions">
20
+ <%= link_to(answer.url, class: 'govuk-link') do
21
+ t('presenter.actions.change_html', question: answer.humanised_title)
22
+ end %>
23
+ </dd>
24
+ </div>
25
+ <% end %>
26
+ </dl>
27
+ <% end %>
@@ -4,6 +4,7 @@
4
4
  <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.errors.generic_problem.heading') %></h1>
5
5
  <p><%= t('presenter.save_and_return.resume.errors.generic_problem.info_1') %></p>
6
6
  <p><%= t('presenter.save_and_return.resume.errors.generic_problem.info_2') %></p>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
7
8
  </div>
8
9
  </div>
9
10
  </div>
@@ -4,6 +4,7 @@
4
4
  <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.errors.failure.heading') %></h1>
5
5
  <p><%= t('presenter.save_and_return.resume.errors.failure.info_1') %></p>
6
6
  <p><%= t('presenter.save_and_return.resume.errors.failure.info_2') %></p>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
7
8
  </div>
8
9
  </div>
9
10
  </div>
@@ -4,6 +4,7 @@
4
4
  <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.errors.expired.heading') %></h1>
5
5
  <p><%= t('presenter.save_and_return.resume.errors.expired.info_1') %></p>
6
6
  <p><%= t('presenter.save_and_return.resume.errors.expired.info_2') %></p>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
7
8
  </div>
8
9
  </div>
9
10
  </div>
@@ -4,6 +4,7 @@
4
4
  <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.errors.link_used.heading') %></h1>
5
5
  <p><%= t('presenter.save_and_return.resume.errors.link_used.info_1') %></p>
6
6
  <p><%= t('presenter.save_and_return.resume.errors.link_used.info_2') %></p>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
7
8
  </div>
8
9
  </div>
9
10
  </div>
@@ -2,10 +2,12 @@
2
2
  <div class="govuk-grid-row">
3
3
  <div class="govuk-grid-column-two-thirds">
4
4
  <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.from_start.heading', service_name: service.service_name) %></h1>
5
- <p class="govuk-hint"><%= t('presenter.save_and_return.resume.from_start.info_1') %></p>
5
+ <p class="govuk-body"><%= t('presenter.save_and_return.resume.from_start.info_1') %></p>
6
6
  <br/>
7
- <p class="govuk-hint"><%= t('presenter.save_and_return.resume.from_start.info_2') %></p>
8
- <%= link_to t('presenter.save_and_return.actions.continue'), root_path, class: "govuk-button" %>
7
+ <p class="govuk-body"><%= t('presenter.save_and_return.resume.from_start.info_2') %></p>
8
+
9
+ <%= render partial: 'metadata_presenter/shared/start_again_button',
10
+ locals: { button_text: t('presenter.save_and_return.actions.continue') } %>
9
11
  </div>
10
12
  </div>
11
13
  </div>
@@ -7,44 +7,14 @@
7
7
  <div class="govuk-grid-column-two-thirds">
8
8
  <p><%= t('presenter.save_and_return.resume.progress.content_1') %></p>
9
9
  <p><%= t('presenter.save_and_return.resume.progress.content_2') %></p>
10
- <%= form_for @page, url: reserved_submissions_path, html: { id: 'answers-form' } do |f| %>
11
- <dl class="fb-block fb-block-answers govuk-summary-list">
12
- <% pages_presenters.each do |page_answers_presenters| %>
13
- <% page_answers_presenters.each_with_index do |page_answers_presenter, index| %>
14
10
 
15
- <% if !page_answers_presenter.answer.empty? %>
16
-
17
- <div class="govuk-summary-list__row">
18
- <dt class="govuk-summary-list__key">
19
- <%= page_answers_presenter.humanised_title %>
20
- </dt>
21
-
22
- <dd class="govuk-summary-list__value">
23
- <%= page_answers_presenter.answer %>
24
- </dd>
25
- <dd class="govuk-summary-list__actions">
26
- <%= link_to(
27
- editable? ? '#' : page_answers_presenter.url,
28
- class: 'govuk-link'
29
- ) do %>
30
- <%= t('presenter.actions.change_html', question: page_answers_presenter.humanised_title) %>
31
- <% end %>
32
- </dd>
33
- </div>
34
-
35
- <% if page_answers_presenter.last_multiple_question?(index, page_answers_presenters.size) %>
36
- <% end %>
37
- </dl>
38
- <dl class="fb-block fb-block-answers govuk-summary-list">
39
- <% end %>
40
- <% end %>
41
- <% end %>
42
- </dl>
43
-
44
- <div class="govuk-button-group">
45
- <%= link_to t('presenter.save_and_return.actions.continue'), page_slug, class: "govuk-button" %> <a href="<%= save_path(:page_slug=>page_slug) %>" class="govuk-button govuk-button--secondary" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.actions.save') %></a>
46
- </div>
11
+ <% pages_presenters.each do |page_answers_presenters| %>
12
+ <%= render MetadataPresenter::Summary::AnswersPresenter.new(page_answers_presenters) %>
47
13
  <% end %>
14
+
15
+ <div class="govuk-button-group">
16
+ <%= link_to t('presenter.save_and_return.actions.continue'), page_slug, class: "govuk-button" %> <a href="<%= save_path(:page_slug=>page_slug) %>" class="govuk-button govuk-button--secondary" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.actions.save') %></a>
17
+ </div>
48
18
  </div>
49
19
  </div>
50
20
  </div>
@@ -3,7 +3,7 @@
3
3
  <h1 class="govuk-heading-l"><%= t('presenter.session_complete.title') %></h1>
4
4
  <div class="maintenance-content">
5
5
  <%= to_html t('presenter.session_complete.content') %>
6
- <p><%= link_to t('presenter.session_complete.restart_link'), root_url %></p>
7
6
  </div>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
8
8
  </div>
9
9
  </div>
@@ -3,7 +3,7 @@
3
3
  <h1 class="govuk-heading-l"><%= t('presenter.session_expired.title') %></h1>
4
4
  <div class="maintenance-content">
5
5
  <%= to_html t('presenter.session_expired.content') %>
6
- <p><%= link_to t('presenter.session_expired.restart_link'), root_url %></p>
7
6
  </div>
7
+ <%= render partial: 'metadata_presenter/shared/start_again_button' %>
8
8
  </div>
9
9
  </div>
@@ -0,0 +1,6 @@
1
+ <div class="govuk-button-group govuk-!-margin-top-6">
2
+ <%= button_to(
3
+ defined?(button_text) ? button_text : t('presenter.actions.start_again'),
4
+ root_path, method: :get, class: 'govuk-button', data: { module: 'govuk-button' }
5
+ ) %>
6
+ </div>
@@ -15,10 +15,18 @@ cy:
15
15
  continue: Parhau
16
16
  submit: Cyflwyno
17
17
  sign_in: Mewngofnodi
18
+ start_again: Dechrau eto
18
19
  upload_options: Llwytho opsiynau
19
20
  change_html: Newid <span class="govuk-visually-hidden">eich ateb ar gyfer %{question}</span>
20
21
  errors:
21
22
  summary_heading: Mae yna broblem
23
+ components:
24
+ upload:
25
+ errors:
26
+ required: Dewiswch ffeil i’w llwytho
27
+ multiupload:
28
+ errors:
29
+ required: Dewiswch ffeil i’w llwytho
22
30
  notification_banners:
23
31
  important: Pwysig
24
32
  warning: Rhybudd
@@ -56,11 +64,9 @@ cy:
56
64
  session_expired:
57
65
  title: Mae eich ffurflen wedi’i hailosod
58
66
  content: "I ddiogelu eich gwybodaeth bersonol, rydym wedi ailosod y ffurflen ac wedi clirio’ch atebion.\r\n\r\nMae hyn oherwydd eich bod wedi bod yn segur am 30 munud."
59
- restart_link: Dechrau eto
60
67
  session_complete:
61
68
  title: Wedi cyflwyno
62
69
  content: "Mae’r ffurflen hon eisoes wedi’i chyflwyno.\r\n\r\nI ddiogelu eich gwybodaeth bersonol, rydym wedi ailosod y ffurflen ac wedi clirio’ch atebion."
63
- restart_link: Dechrau eto
64
70
  confirmation:
65
71
  reference_number: 'Eich cyfeirnod yw:'
66
72
  payment_enabled: Rydych dal angen talu
@@ -6,10 +6,18 @@ en:
6
6
  continue: Continue
7
7
  submit: Submit
8
8
  sign_in: Sign in
9
+ start_again: Start again
9
10
  upload_options: Upload options
10
11
  change_html: Change <span class="govuk-visually-hidden">Your answer for %{question}</span>
11
12
  errors:
12
13
  summary_heading: There is a problem
14
+ components:
15
+ upload:
16
+ errors:
17
+ required: Choose a file to upload
18
+ multiupload:
19
+ errors:
20
+ required: Choose a file to upload
13
21
  notification_banners:
14
22
  important: Important
15
23
  warning: Warning
@@ -47,11 +55,9 @@ en:
47
55
  session_expired:
48
56
  title: Your form has been reset
49
57
  content: "To protect your personal information, we have reset the form and cleared your answers.\r\n\r\nThis is because you were inactive for 30 minutes."
50
- restart_link: Start again
51
58
  session_complete:
52
59
  title: Submission complete
53
60
  content: "This form has already been submitted.\r\n\r\nTo protect your personal information, we have reset the form and cleared your answers."
54
- restart_link: Start again
55
61
  confirmation:
56
62
  reference_number: 'Your reference number is:'
57
63
  payment_enabled: You still need to pay
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '3.3.35'.freeze
2
+ VERSION = '3.3.37'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metadata_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.35
4
+ version: 3.3.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-29 00:00:00.000000000 Z
11
+ date: 2024-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -374,6 +374,7 @@ files:
374
374
  - app/operators/metadata_presenter/is_operator.rb
375
375
  - app/operators/metadata_presenter/operator.rb
376
376
  - app/presenters/metadata_presenter/page_answers_presenter.rb
377
+ - app/presenters/metadata_presenter/summary/answers_presenter.rb
377
378
  - app/validators/email_confirmation_validator.rb
378
379
  - app/validators/metadata_presenter/accept_validator.rb
379
380
  - app/validators/metadata_presenter/address_validator.rb
@@ -449,6 +450,7 @@ files:
449
450
  - app/views/metadata_presenter/page/singlequestion.html.erb
450
451
  - app/views/metadata_presenter/page/standalone.html.erb
451
452
  - app/views/metadata_presenter/page/start.html.erb
453
+ - app/views/metadata_presenter/resume/_answers_presenter.html.erb
452
454
  - app/views/metadata_presenter/resume/record_error.html.erb
453
455
  - app/views/metadata_presenter/resume/record_failure.html.erb
454
456
  - app/views/metadata_presenter/resume/record_link_expired.html.erb
@@ -463,6 +465,7 @@ files:
463
465
  - app/views/metadata_presenter/session/_timeout_warning_modal.html.erb
464
466
  - app/views/metadata_presenter/session/complete.html.erb
465
467
  - app/views/metadata_presenter/session/expired.html.erb
468
+ - app/views/metadata_presenter/shared/_start_again_button.html.erb
466
469
  - config/initializers/default_metadata.rb
467
470
  - config/initializers/default_text.rb
468
471
  - config/initializers/inflections.rb