metadata_presenter 2.17.40 → 2.17.41

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: df4841d770916f29d6e715bb0f183b1fffeae2631d5b25634c0a8dcc11bec693
4
- data.tar.gz: de0236515c2de4fbd0afd30dad64ee85f038229f4a7c86f4b92f0b463cb895e8
3
+ metadata.gz: 06ef8d829975b8cd62a3060296a02bcc4da086497f6d388f5cd0491c780c886a
4
+ data.tar.gz: 9ff7ef2b5a8a436a90a196c56f50e5413f608c3dd5245e543420fb908ac73b58
5
5
  SHA512:
6
- metadata.gz: fbfa3d5c87351fa9bf59f1b6ec630a3c441718a7632d55289d7cd9a99f11b3fe5a830bc49597847f7cbde725a6fd34acec749d788c1a9006e049e61406de21f5
7
- data.tar.gz: 65aefa06629b7a63ff6beced03a227f70724b92a110bfa8a2c71a2eebb754f08e0bc03a54b8c1f7d7a331ce76794c8652fe798e71ca30bf6b32cd19d8808bd83
6
+ metadata.gz: 4ec97f71e39206385633229ab67537d3a6011a7debcf8d264f6e707e365868b7136d798803f975578a1c8daa659113cdcbc8d75816f8cbaedc28c0ed90fa6cd2
7
+ data.tar.gz: 3a2ad788127411e12c498534b07b56914082afc3afff90c053ab030735f06dca77ba728b6f6d5efca47b7a38199bc3b82f6fb6be4a723f6c9c8d91e4c06629af
@@ -0,0 +1,26 @@
1
+ module MetadataPresenter
2
+ class SaveAndReturnController < EngineController
3
+ before_action :check_feature_flag
4
+ helper_method :secret_questions
5
+
6
+ def show
7
+ @saved_form = SavedForm.new
8
+ end
9
+
10
+ def create; end
11
+
12
+ def secret_questions
13
+ [
14
+ OpenStruct.new(id: 1, name: I18n.t('presenter.save_and_return.secret_questions.one')),
15
+ OpenStruct.new(id: 2, name: I18n.t('presenter.save_and_return.secret_questions.two')),
16
+ OpenStruct.new(id: 3, name: I18n.t('presenter.save_and_return.secret_questions.three'))
17
+ ]
18
+ end
19
+
20
+ private
21
+
22
+ def check_feature_flag
23
+ redirect_to '/' and return if ENV['SAVE_AND_RETURN'] != 'enabled'
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ module MetadataPresenter
2
+ class SavedForm
3
+ include ActiveModel::Model
4
+
5
+ attr_accessor :email,
6
+ :secret_question,
7
+ :secret_answer
8
+
9
+ def initialize; end
10
+ end
11
+ end
@@ -86,7 +86,7 @@
86
86
 
87
87
  <button <%= 'disabled' if editable? %> data-prevent-double-click="true" class="fb-block fb-block-actions govuk-button" data-module="govuk-button" data-block-id="actions" data-block-type="actions">
88
88
  <%= t('presenter.actions.submit') -%>
89
- </button>
89
+ </button> <% if ENV['SAVE_AND_RETURN'] == 'enabled' %><a href="<%= save_path %>" class="govuk-button" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.save') %></a><% end %>
90
90
  <% end %>
91
91
 
92
92
  </div>
@@ -25,7 +25,7 @@
25
25
  content_components: @page.supported_content_components
26
26
  } %>
27
27
 
28
- <%= f.govuk_submit(disabled: editable?) %>
28
+ <%= f.govuk_submit(disabled: editable?) %> <% if ENV['SAVE_AND_RETURN'] == 'enabled' %><a href="<%= save_path %>" class="govuk-button" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.save') %></a><% end %>
29
29
  <% end %>
30
30
  </div>
31
31
  </div>
@@ -18,7 +18,7 @@
18
18
  }
19
19
  %>
20
20
 
21
- <%= f.govuk_submit(disabled: editable?) %>
21
+ <%= f.govuk_submit(disabled: editable?) %> <% if ENV['SAVE_AND_RETURN'] == 'enabled' %><a href="<%= save_path %>" class="govuk-button" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.save') %></a><% end %>
22
22
  <% end %>
23
23
  </div>
24
24
  </div>
@@ -20,7 +20,7 @@
20
20
  </div>
21
21
  <% end %>
22
22
 
23
- <%= f.govuk_submit(disabled: editable?) %>
23
+ <%= f.govuk_submit(disabled: editable?) %> <% if ENV['SAVE_AND_RETURN'] == 'enabled' %><a href="<%= save_path %>" class="govuk-button" data-module="govuk-button" data-component="save-button"><%= t('presenter.save_and_return.save') %></a><% end %>
24
24
  <% end %>
25
25
  </div>
26
26
  </div>
@@ -0,0 +1,43 @@
1
+ <div class="fb-main-grid-wrapper">
2
+ <div class="govuk-grid-row">
3
+ <div class="govuk-grid-column-two-thirds">
4
+ <h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.show.heading') %></h1>
5
+ <p class="mojf-settings-screen__description"><%= t('presenter.save_and_return.show.description') %></p>
6
+
7
+ <%= form_for @saved_form do |f| %>
8
+ <%= f.govuk_error_summary %>
9
+ <div class="govuk-form-group">
10
+ <%=
11
+ f.govuk_email_field :email,
12
+ label: { text: t('presenter.save_and_return.show.email') },
13
+ hint: {
14
+ data: { "fb-default-text" => default_text('hint') },
15
+ text: t('presenter.save_and_return.show.email_hint')
16
+ },
17
+ name: "email",
18
+ spellcheck: "false",
19
+ autocomplete: "email"
20
+ %>
21
+ <%=
22
+ f.govuk_collection_radio_buttons :secret_question,
23
+ secret_questions,
24
+ :id,
25
+ :name,
26
+ legend: { text: t('presenter.save_and_return.show.secret_question') },
27
+ hint: {
28
+ data: { "fb-default-text" => default_text('hint') },
29
+ text: t('presenter.save_and_return.show.secret_question_hint')
30
+ },
31
+ bold_labels: false
32
+ %>
33
+ <%=
34
+ f.govuk_text_field :secret_answer,
35
+ label: { text: t('presenter.save_and_return.show.secret_answer') },
36
+ name: "secret_answer"
37
+ %>
38
+ </div>
39
+
40
+ <%= f.govuk_submit t('presenter.save_and_return.show.continue') %><% end %> <%= link_to t('presenter.save_and_return.show.cancel'), :back %>
41
+ </div>
42
+ </div>
43
+ </div>
@@ -36,6 +36,22 @@ en:
36
36
  payment_enabled: You still need to pay
37
37
  continue_to_pay_button: Continue to pay
38
38
  application_complete: 'Application complete'
39
+ save_and_return:
40
+ save: 'Save for later'
41
+ show:
42
+ heading: 'Save for later'
43
+ description: 'We will send you a one-off link that you can use to resume this form within 28 days.'
44
+ email: 'Email address'
45
+ email_hint: 'Where we will send the link'
46
+ secret_question: 'Pick a security question'
47
+ secret_question_hint: 'We will use this to verify your identity when you return'
48
+ secret_answer: 'The answer to your security question'
49
+ continue: 'Continue with saving'
50
+ cancel: 'Cancel saving and resume form'
51
+ secret_questions:
52
+ one: "What is your mother's maiden name?"
53
+ two: 'What is the last name of your favourite teacher?'
54
+ three: 'What is the name of the hospital where you were born?'
39
55
  footer:
40
56
  cookies:
41
57
  heading: "Cookies"
data/config/routes.rb CHANGED
@@ -10,6 +10,9 @@ MetadataPresenter::Engine.routes.draw do
10
10
 
11
11
  get 'session/expired', to: 'session#expired'
12
12
 
13
+ get 'save', to: 'save_and_return#show'
14
+ post 'saved_forms', to: 'save_and_return#create'
15
+
13
16
  post '/', to: 'answers#create'
14
17
  match '*path', to: 'answers#create', via: :post
15
18
  match '*path', to: 'pages#show',
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '2.17.40'.freeze
2
+ VERSION = '2.17.41'.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: 2.17.40
4
+ version: 2.17.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-24 00:00:00.000000000 Z
11
+ date: 2023-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -257,6 +257,7 @@ files:
257
257
  - app/controllers/metadata_presenter/engine_controller.rb
258
258
  - app/controllers/metadata_presenter/file_controller.rb
259
259
  - app/controllers/metadata_presenter/pages_controller.rb
260
+ - app/controllers/metadata_presenter/save_and_return_controller.rb
260
261
  - app/controllers/metadata_presenter/service_controller.rb
261
262
  - app/controllers/metadata_presenter/session_controller.rb
262
263
  - app/controllers/metadata_presenter/submissions_controller.rb
@@ -287,6 +288,7 @@ files:
287
288
  - app/models/metadata_presenter/previous_page.rb
288
289
  - app/models/metadata_presenter/route.rb
289
290
  - app/models/metadata_presenter/row_number.rb
291
+ - app/models/metadata_presenter/saved_form.rb
290
292
  - app/models/metadata_presenter/service.rb
291
293
  - app/models/metadata_presenter/traversed_pages.rb
292
294
  - app/models/metadata_presenter/uploaded_file.rb
@@ -357,6 +359,7 @@ files:
357
359
  - app/views/metadata_presenter/page/singlequestion.html.erb
358
360
  - app/views/metadata_presenter/page/standalone.html.erb
359
361
  - app/views/metadata_presenter/page/start.html.erb
362
+ - app/views/metadata_presenter/save_and_return/show.html.erb
360
363
  - app/views/metadata_presenter/session/_timeout_fallback.html.erb
361
364
  - app/views/metadata_presenter/session/_timeout_warning_modal.html.erb
362
365
  - app/views/metadata_presenter/session/expired.html.erb