metadata_presenter 3.3.35 → 3.3.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/presenters/metadata_presenter/summary/answers_presenter.rb +27 -0
- data/app/validators/metadata_presenter/base_validator.rb +8 -2
- data/app/views/metadata_presenter/resume/_answers_presenter.html.erb +27 -0
- data/app/views/metadata_presenter/resume/record_error.html.erb +1 -0
- data/app/views/metadata_presenter/resume/record_failure.html.erb +1 -0
- data/app/views/metadata_presenter/resume/record_link_expired.html.erb +1 -0
- data/app/views/metadata_presenter/resume/record_link_used.html.erb +1 -0
- data/app/views/metadata_presenter/resume/resume_from_start.html.erb +5 -3
- data/app/views/metadata_presenter/resume/resume_progress.html.erb +6 -36
- data/app/views/metadata_presenter/session/complete.html.erb +1 -1
- data/app/views/metadata_presenter/session/expired.html.erb +1 -1
- data/app/views/metadata_presenter/shared/_start_again_button.html.erb +6 -0
- data/config/locales/cy.yml +8 -2
- data/config/locales/en.yml +8 -2
- data/lib/metadata_presenter/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ed2afa8c292c6820d2d3747c25f2b9a965dddd67cc0cd95d31e38acdd242c8b
|
4
|
+
data.tar.gz: 965a30d35f8d8bae6ba4e3e06b6ff3ffd829e68f0a1d99765ba467cb496da6f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
#
|
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 =
|
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-
|
5
|
+
<p class="govuk-body"><%= t('presenter.save_and_return.resume.from_start.info_1') %></p>
|
6
6
|
<br/>
|
7
|
-
<p class="govuk-
|
8
|
-
|
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
|
-
|
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>
|
data/config/locales/cy.yml
CHANGED
@@ -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
|
data/config/locales/en.yml
CHANGED
@@ -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
|
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.
|
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-
|
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
|