metadata_presenter 3.3.34 → 3.3.36

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: c8518bc2fca3d0f5fec907a7b15c8eb032fc8c33e079809e778713765841010e
4
- data.tar.gz: 2d27dcca2327531e0ecf8da4208cffc6456d96a91ab0d1ff71d2ec92032bb305
3
+ metadata.gz: 1bafeaa1035fd7a354ab52ec5319b19c3546b564f3812255b70185ddfb0b97e1
4
+ data.tar.gz: f78acb6eb0860e72fb4bf37de638adc09ff72b64a96e66f0728103688f395a41
5
5
  SHA512:
6
- metadata.gz: c0d26fc240f57980e3282c9a7d4d30ba3e76abc121fde1139f64aa3159b5df8f4e82105df6141dc1f3d783a2091d4a4f0f5d0ae93b75e66d79ddc39048442bd4
7
- data.tar.gz: 8cd9283fd1b7f93ab1bb51db351b84df694c3a9e23e0f98a50c22a652eca8cc18eba19d3d81548649f7af4385700f222ef22014b07c2d1915710e1abc34384dd
6
+ metadata.gz: 3065dc067ed494dad6439665638af78e9afe587fc2ae108f8fd92ca731bba1fb3c59f6d2358c0903e200787a934c7e762ab2f14ef3eb0d3db1e052d76a83045d
7
+ data.tar.gz: d5c7dc822dd465b092a69a176f97c468835f8b0a935d0bcf2155655293ec2d94663f798913b5e5548d15fdb1e02897d6f92300d28557575eeb274044ac9d52f6
@@ -41,7 +41,14 @@ module MetadataPresenter
41
41
 
42
42
  def email_confirmation
43
43
  @saved_form = session[:saved_form]
44
- @email_confirmation = EmailConfirmation.new(@saved_form['email'])
44
+
45
+ if @saved_form
46
+ @email_confirmation = EmailConfirmation.new(@saved_form['email'])
47
+ else
48
+ # we see errors when the session saved form is nil, if this is affecting real users we'd prefer to
49
+ # bump them back to the create step, but we can't easily recreate all the params and we can't cover crawlers hitting the page directly
50
+ redirect_back fallback_location: root_path
51
+ end
45
52
  end
46
53
 
47
54
  def confirm_email
@@ -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
@@ -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>
@@ -1,7 +1,7 @@
1
1
  <div class="fb-main-grid-wrapper">
2
2
  <div class="govuk-grid-row">
3
3
  <div class="govuk-grid-column-two-thirds">
4
- <a class="govuk-back-link" href="<%= :back %>"><%= t('presenter.back') %></a>
4
+ <%= link_to t('presenter.back'), :back, class: "govuk-back-link" %>
5
5
  <%= form_for @email_confirmation do |f| %>
6
6
  <%= f.govuk_error_summary(t('presenter.errors.summary_heading')) %>
7
7
  <div class="govuk-form-group">
@@ -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.34'.freeze
2
+ VERSION = '3.3.36'.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.34
4
+ version: 3.3.36
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-22 00:00:00.000000000 Z
11
+ date: 2024-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -463,6 +463,7 @@ files:
463
463
  - app/views/metadata_presenter/session/_timeout_warning_modal.html.erb
464
464
  - app/views/metadata_presenter/session/complete.html.erb
465
465
  - app/views/metadata_presenter/session/expired.html.erb
466
+ - app/views/metadata_presenter/shared/_start_again_button.html.erb
466
467
  - config/initializers/default_metadata.rb
467
468
  - config/initializers/default_text.rb
468
469
  - config/initializers/inflections.rb