metadata_presenter 3.3.13 → 3.3.15
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/controllers/metadata_presenter/concerns/save_and_return.rb +31 -0
- data/app/controllers/metadata_presenter/resume_controller.rb +119 -0
- data/app/controllers/metadata_presenter/save_and_return_controller.rb +5 -137
- data/app/models/metadata_presenter/component.rb +9 -0
- data/app/models/metadata_presenter/page.rb +2 -2
- data/app/views/metadata_presenter/component/_multiupload.html.erb +3 -0
- data/app/views/metadata_presenter/{save_and_return → resume}/return.html.erb +5 -2
- data/config/locales/cy.yml +3 -2
- data/config/locales/en.yml +3 -2
- data/config/routes.rb +11 -8
- data/default_metadata/page/singlequestion.json +1 -1
- data/fixtures/version.json +10 -9
- data/lib/metadata_presenter/version.rb +1 -1
- data/schemas/page/singlequestion.json +2 -3
- metadata +11 -9
- /data/app/views/metadata_presenter/{save_and_return → resume}/record_error.html.erb +0 -0
- /data/app/views/metadata_presenter/{save_and_return → resume}/record_failure.html.erb +0 -0
- /data/app/views/metadata_presenter/{save_and_return → resume}/record_link_expired.html.erb +0 -0
- /data/app/views/metadata_presenter/{save_and_return → resume}/record_link_used.html.erb +0 -0
- /data/app/views/metadata_presenter/{save_and_return → resume}/resume_from_start.html.erb +0 -0
- /data/app/views/metadata_presenter/{save_and_return → resume}/resume_progress.html.erb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 697e6b4f94a8e43973cc082259567e2967f2b4686e840174cfda308b378f5302
|
4
|
+
data.tar.gz: e47e94bf27c2b86cc9e4677ed0dec9c0385c3adc9c92e0594938d3a8ae1de20a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a1f301247aa0891098f7d4cbab3a8a6de98b0bcf02187a4d51e214318f933acff699e910122690118dd1768fc7e6d1cbfd7e02732e8c53b4d338cf2445c205a
|
7
|
+
data.tar.gz: 9801b62cd16f191fd5b239c4fd39ba1ce60bd8007c255cb309e1037840d35a4876feb2a0ebb2255d172ea37037811d066c3d40b03a02e9a89e2a4f1660880151
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module MetadataPresenter
|
2
|
+
module Concerns
|
3
|
+
module SaveAndReturn
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
helper_method :page_slug, :label_text
|
8
|
+
end
|
9
|
+
|
10
|
+
def page_slug
|
11
|
+
if params && params[:page_slug].present?
|
12
|
+
return params[:page_slug]
|
13
|
+
end
|
14
|
+
if session['returning_slug'].present?
|
15
|
+
return session['returning_slug']
|
16
|
+
end
|
17
|
+
if session['saved_form'].present?
|
18
|
+
return session['saved_form']['page_slug']
|
19
|
+
end
|
20
|
+
|
21
|
+
if params['saved_form'].present?
|
22
|
+
params['saved_form']['page_slug']
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def label_text(text)
|
27
|
+
"<h2 class='govuk-heading-m'>#{text}</h2>"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
module MetadataPresenter
|
2
|
+
class ResumeController < EngineController
|
3
|
+
include Concerns::SaveAndReturn
|
4
|
+
|
5
|
+
helper_method :get_service_name, :get_uuid, :pages_presenters
|
6
|
+
|
7
|
+
def return
|
8
|
+
response = get_saved_progress(get_uuid)
|
9
|
+
|
10
|
+
if response.status == 404
|
11
|
+
redirect_to '/record_error' and return
|
12
|
+
end
|
13
|
+
|
14
|
+
if response.status == 400
|
15
|
+
redirect_to '/record_failure' and return
|
16
|
+
end
|
17
|
+
|
18
|
+
if response.status == 422
|
19
|
+
redirect_to '/already_used' and return
|
20
|
+
end
|
21
|
+
|
22
|
+
@saved_form = SavedForm.new.from_json(response.body.to_json)
|
23
|
+
@resume_form = ResumeForm.new(@saved_form.secret_question)
|
24
|
+
end
|
25
|
+
|
26
|
+
# rubocop:disable Style/RescueStandardError
|
27
|
+
def submit_secret_answer
|
28
|
+
response = get_saved_progress(get_uuid)
|
29
|
+
|
30
|
+
if response.status != 200
|
31
|
+
if response.status == 400
|
32
|
+
redirect_to '/record_failure' and return
|
33
|
+
end
|
34
|
+
|
35
|
+
redirect_to '/record_error' and return
|
36
|
+
end
|
37
|
+
|
38
|
+
@saved_form = SavedForm.new.from_json(response.body.to_json)
|
39
|
+
@resume_form = ResumeForm.new(@saved_form.secret_question)
|
40
|
+
@resume_form.secret_answer = resume_form_params[:secret_answer]
|
41
|
+
@resume_form.recorded_answer = @saved_form.secret_answer
|
42
|
+
@resume_form.attempts_remaining = 2 - @saved_form.attempts.to_i
|
43
|
+
|
44
|
+
if @resume_form.valid?
|
45
|
+
# redirect back to right place in form
|
46
|
+
session[:user_id] = @saved_form.user_id
|
47
|
+
session[:user_token] = @saved_form.user_token
|
48
|
+
session[:returning_slug] = @saved_form.page_slug
|
49
|
+
|
50
|
+
invalidate_record(@saved_form.id)
|
51
|
+
|
52
|
+
if @saved_form.service_version == service.version_id
|
53
|
+
redirect_to '/resume_progress' and return
|
54
|
+
else
|
55
|
+
redirect_to '/resume_from_start' and return
|
56
|
+
end
|
57
|
+
else
|
58
|
+
if @resume_form.attempts_remaining <= 0
|
59
|
+
begin
|
60
|
+
increment_record_counter(@saved_form.id)
|
61
|
+
rescue => e
|
62
|
+
Rails.logger.info(e)
|
63
|
+
redirect_to '/record_failure' and return
|
64
|
+
end
|
65
|
+
redirect_to '/record_failure' and return
|
66
|
+
end
|
67
|
+
|
68
|
+
increment_record_counter(@saved_form.id)
|
69
|
+
|
70
|
+
render :return, params: { uuid: @saved_form.id }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
# rubocop:enable Style/RescueStandardError
|
74
|
+
|
75
|
+
def resume_progress
|
76
|
+
@user_data = load_user_data
|
77
|
+
|
78
|
+
@page ||= service.checkanswers_page
|
79
|
+
|
80
|
+
if @page
|
81
|
+
@page_answers = PageAnswers.new(@page, @answered_pages)
|
82
|
+
else
|
83
|
+
not_found
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def answered_pages
|
88
|
+
TraversedPages.new(service, @user_data, @page).all
|
89
|
+
end
|
90
|
+
|
91
|
+
def pages_presenters
|
92
|
+
PageAnswersPresenter.map(
|
93
|
+
view: view_context,
|
94
|
+
pages: answered_pages,
|
95
|
+
answers: @user_data
|
96
|
+
)
|
97
|
+
end
|
98
|
+
|
99
|
+
private
|
100
|
+
|
101
|
+
def resume_form_params
|
102
|
+
params.require(:resume_form).permit(
|
103
|
+
:secret_answer, :uuid
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
def get_uuid
|
108
|
+
if params[:uuid].present?
|
109
|
+
return params[:uuid]
|
110
|
+
end
|
111
|
+
|
112
|
+
resume_form_params[:uuid].presence
|
113
|
+
end
|
114
|
+
|
115
|
+
def get_service_name
|
116
|
+
service.service_name
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
@@ -1,27 +1,13 @@
|
|
1
1
|
module MetadataPresenter
|
2
2
|
class SaveAndReturnController < EngineController
|
3
|
-
|
3
|
+
include Concerns::SaveAndReturn
|
4
|
+
|
5
|
+
helper_method :secret_questions, :confirmed_email
|
4
6
|
|
5
7
|
def show
|
6
8
|
@saved_form = SavedForm.new
|
7
9
|
end
|
8
10
|
|
9
|
-
def page_slug
|
10
|
-
if params && params[:page_slug].present?
|
11
|
-
return params[:page_slug]
|
12
|
-
end
|
13
|
-
if session['returning_slug'].present?
|
14
|
-
return session['returning_slug']
|
15
|
-
end
|
16
|
-
if session['saved_form'].present?
|
17
|
-
return session['saved_form']['page_slug']
|
18
|
-
end
|
19
|
-
|
20
|
-
if params['saved_form'].present?
|
21
|
-
params['saved_form']['page_slug']
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
11
|
def confirmed_email
|
26
12
|
email = session['saved_form']['email']
|
27
13
|
session['saved_form']['email'] = nil
|
@@ -77,96 +63,6 @@ module MetadataPresenter
|
|
77
63
|
end
|
78
64
|
end
|
79
65
|
|
80
|
-
def return
|
81
|
-
response = get_saved_progress(get_uuid)
|
82
|
-
|
83
|
-
if response.status == 404
|
84
|
-
redirect_to '/record_error' and return
|
85
|
-
end
|
86
|
-
|
87
|
-
if response.status == 400
|
88
|
-
redirect_to '/record_failure' and return
|
89
|
-
end
|
90
|
-
|
91
|
-
if response.status == 422
|
92
|
-
redirect_to '/already_used' and return
|
93
|
-
end
|
94
|
-
|
95
|
-
@saved_form = SavedForm.new.from_json(response.body.to_json)
|
96
|
-
@resume_form = ResumeForm.new(@saved_form.secret_question)
|
97
|
-
end
|
98
|
-
|
99
|
-
def get_uuid
|
100
|
-
if params[:uuid].present?
|
101
|
-
return params[:uuid]
|
102
|
-
end
|
103
|
-
|
104
|
-
params[:resume_form][:uuid].presence
|
105
|
-
end
|
106
|
-
|
107
|
-
# rubocop:disable Style/RescueStandardError
|
108
|
-
def submit_secret_answer
|
109
|
-
response = get_saved_progress(get_uuid)
|
110
|
-
|
111
|
-
if response.status != 200
|
112
|
-
if response.status == 400
|
113
|
-
redirect_to '/record_failure' and return
|
114
|
-
end
|
115
|
-
|
116
|
-
redirect_to '/record_error' and return
|
117
|
-
end
|
118
|
-
|
119
|
-
@saved_form = SavedForm.new.from_json(response.body.to_json)
|
120
|
-
@resume_form = ResumeForm.new(@saved_form.secret_question)
|
121
|
-
@resume_form.secret_answer = resume_form_params[:resume_form][:secret_answer]
|
122
|
-
@resume_form.recorded_answer = @saved_form.secret_answer
|
123
|
-
@resume_form.attempts_remaining = 2 - @saved_form.attempts.to_i
|
124
|
-
|
125
|
-
if @resume_form.valid?
|
126
|
-
# redirect back to right place in form
|
127
|
-
session[:user_id] = @saved_form.user_id
|
128
|
-
session[:user_token] = @saved_form.user_token
|
129
|
-
session[:returning_slug] = @saved_form.page_slug
|
130
|
-
|
131
|
-
invalidate_record(@saved_form.id)
|
132
|
-
|
133
|
-
if @saved_form.service_version == service.version_id
|
134
|
-
redirect_to '/resume_progress' and return
|
135
|
-
else
|
136
|
-
redirect_to '/resume_from_start' and return
|
137
|
-
end
|
138
|
-
else
|
139
|
-
if @resume_form.attempts_remaining <= 0
|
140
|
-
begin
|
141
|
-
increment_record_counter(@saved_form.id)
|
142
|
-
rescue => e
|
143
|
-
Rails.logger.info(e)
|
144
|
-
redirect_to '/record_failure' and return
|
145
|
-
end
|
146
|
-
redirect_to '/record_failure' and return
|
147
|
-
end
|
148
|
-
|
149
|
-
increment_record_counter(@saved_form.id)
|
150
|
-
|
151
|
-
render :return, params: { uuid: @saved_form.id }
|
152
|
-
end
|
153
|
-
end
|
154
|
-
# rubocop:enable Style/RescueStandardError
|
155
|
-
|
156
|
-
def resume_progress
|
157
|
-
@user_data = load_user_data
|
158
|
-
|
159
|
-
@page ||= service.checkanswers_page
|
160
|
-
|
161
|
-
if @page
|
162
|
-
@page_answers = PageAnswers.new(@page, @answered_pages)
|
163
|
-
|
164
|
-
render template: 'metadata_presenter/save_and_return/resume_progress'
|
165
|
-
else
|
166
|
-
not_found
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
66
|
def save_progress
|
171
67
|
session['saved_form']['user_id'] = nil
|
172
68
|
session['saved_form']['user_token'] = nil
|
@@ -174,19 +70,6 @@ module MetadataPresenter
|
|
174
70
|
session['user_token'] = nil
|
175
71
|
end
|
176
72
|
|
177
|
-
def answered_pages
|
178
|
-
TraversedPages.new(service, @user_data, @page).all
|
179
|
-
end
|
180
|
-
|
181
|
-
def pages_presenters
|
182
|
-
PageAnswersPresenter.map(
|
183
|
-
view: view_context,
|
184
|
-
pages: answered_pages,
|
185
|
-
answers: @user_data
|
186
|
-
)
|
187
|
-
end
|
188
|
-
helper_method :pages_presenters
|
189
|
-
|
190
73
|
def secret_questions
|
191
74
|
[
|
192
75
|
OpenStruct.new(id: 1, name: I18n.t('presenter.save_and_return.secret_questions.one')),
|
@@ -201,6 +84,8 @@ module MetadataPresenter
|
|
201
84
|
secret_questions.select { |s| s.id.to_s == question.to_s }.first.name
|
202
85
|
end
|
203
86
|
|
87
|
+
private
|
88
|
+
|
204
89
|
def saved_form_params
|
205
90
|
params.permit(
|
206
91
|
:email,
|
@@ -218,23 +103,6 @@ module MetadataPresenter
|
|
218
103
|
)
|
219
104
|
end
|
220
105
|
|
221
|
-
def resume_form_params
|
222
|
-
params.permit(
|
223
|
-
{ resume_form: %i[secret_answer uuid] },
|
224
|
-
:authenticity_token
|
225
|
-
)
|
226
|
-
end
|
227
|
-
|
228
|
-
def get_service_name
|
229
|
-
service.service_name
|
230
|
-
end
|
231
|
-
|
232
|
-
def label_text(text)
|
233
|
-
"<h2 class='govuk-heading-m'>#{text}</h2>"
|
234
|
-
end
|
235
|
-
|
236
|
-
private
|
237
|
-
|
238
106
|
def service_slug
|
239
107
|
@service_slug ||= service_slug_config
|
240
108
|
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class MetadataPresenter::Component < MetadataPresenter::Metadata
|
2
|
+
include Comparable
|
3
|
+
|
2
4
|
VALIDATION_BUNDLES = {
|
3
5
|
'date' => 'date',
|
4
6
|
'number' => 'number',
|
@@ -11,6 +13,13 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
|
|
11
13
|
# Threshold percentage at which the remaining count is shown
|
12
14
|
VALIDATION_STRING_LENGTH_THRESHOLD = 75
|
13
15
|
|
16
|
+
def <=>(other)
|
17
|
+
return nil unless other.is_a?(MetadataPresenter::Component)
|
18
|
+
return 0 unless order
|
19
|
+
|
20
|
+
order <=> other.order
|
21
|
+
end
|
22
|
+
|
14
23
|
# Overriding here because autocomplete component's items property is non interactable
|
15
24
|
# in the Editor therefore it does not need to exist in the data-fb-content-data
|
16
25
|
# attribute on the page. The data-fb-content-data attribute is what is used to
|
@@ -181,12 +181,12 @@ module MetadataPresenter
|
|
181
181
|
end
|
182
182
|
|
183
183
|
def to_components(node_components, collection:)
|
184
|
-
Array(node_components).map
|
184
|
+
Array(node_components).map { |component|
|
185
185
|
MetadataPresenter::Component.new(
|
186
186
|
component.merge(collection:),
|
187
187
|
editor: editor?
|
188
188
|
)
|
189
|
-
|
189
|
+
}.sort
|
190
190
|
end
|
191
191
|
|
192
192
|
def supported_components(page_type)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<legend class="govuk-heading-xl"><%= input_title %></legend>
|
2
|
+
<%= render 'metadata_presenter/attribute/body' %>
|
2
3
|
|
3
4
|
<% if answered?(component.id) && @page_answers.send(component.id)[component.id].compact.count.positive? %>
|
4
5
|
<label id="uploaded-file-summary-list-label"><p class="govuk-heading-s"><%= uploads_count %></p></label>
|
@@ -15,6 +16,8 @@
|
|
15
16
|
</div>
|
16
17
|
<% end %>
|
17
18
|
</dl>
|
19
|
+
<% else %>
|
20
|
+
<label id="uploaded-file-summary-list-label"><p class="govuk-heading-s"><%= t('presenter.questions.multiupload.upload_file') %></p></label>
|
18
21
|
<% end %>
|
19
22
|
|
20
23
|
<% if uploads_remaining.positive? || editable? %>
|
@@ -1,10 +1,13 @@
|
|
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
|
-
|
5
|
-
<p><%= t('presenter.save_and_return.resume.content') %></p>
|
4
|
+
|
6
5
|
<%= form_for @resume_form do |f| %>
|
7
6
|
<%= f.govuk_error_summary(t('presenter.errors.summary_heading')) %>
|
7
|
+
|
8
|
+
<h1 id="page-heading" class="govuk-heading-xl"><%= t('presenter.save_and_return.resume.heading', service_name: get_service_name) %></h1>
|
9
|
+
<p><%= t('presenter.save_and_return.resume.content') %></p>
|
10
|
+
|
8
11
|
<%= f.hidden_field(:uuid, value: get_uuid) %>
|
9
12
|
<div class="govuk-form-group">
|
10
13
|
<%=
|
data/config/locales/cy.yml
CHANGED
@@ -66,13 +66,14 @@ cy:
|
|
66
66
|
upload:
|
67
67
|
remove_file: (cy) Remove file
|
68
68
|
multiupload:
|
69
|
+
upload_file: '(cy) Upload a file'
|
69
70
|
remove_file: '(cy) Delete'
|
70
71
|
add_another: '(cy) Add another file'
|
71
72
|
single_upload: '(cy) Maximum file size 7MB'
|
72
73
|
answered_singular: '(cy) You can add 1 more file (maximum 7MB per file)'
|
73
74
|
answered_plural: '(cy) You can add %{num} more files (maximum 7MB per file)'
|
74
|
-
answered_count_singular: '(cy) You have
|
75
|
-
answered_count_plural: '(cy) You have
|
75
|
+
answered_count_singular: '(cy) You have uploaded 1 file'
|
76
|
+
answered_count_plural: '(cy) You have uploaded %{num} files'
|
76
77
|
singular: '(cy) You can add 1 more file (maximum 7MB)'
|
77
78
|
plural: '(cy) You can add up to %{num} files (maximum 7MB per file)'
|
78
79
|
none: "(cy) You can't add any more files. Remove a file if you need to add a different one."
|
data/config/locales/en.yml
CHANGED
@@ -57,13 +57,14 @@ en:
|
|
57
57
|
upload:
|
58
58
|
remove_file: Remove file
|
59
59
|
multiupload:
|
60
|
+
upload_file: 'Upload a file'
|
60
61
|
remove_file: 'Delete'
|
61
62
|
add_another: 'Add another file'
|
62
63
|
single_upload: 'Maximum file size 7MB'
|
63
64
|
answered_singular: 'You can add 1 more file (maximum 7MB per file)'
|
64
65
|
answered_plural: 'You can add %{num} more files (maximum 7MB per file)'
|
65
|
-
answered_count_singular: 'You have
|
66
|
-
answered_count_plural: 'You have
|
66
|
+
answered_count_singular: 'You have uploaded 1 file'
|
67
|
+
answered_count_plural: 'You have uploaded %{num} files'
|
67
68
|
singular: 'You can add 1 more file (maximum 7MB)'
|
68
69
|
plural: 'You can add up to %{num} files (maximum 7MB per file)'
|
69
70
|
none: "You can't add any more files. Remove a file if you need to add a different one."
|
data/config/routes.rb
CHANGED
@@ -12,19 +12,22 @@ MetadataPresenter::Engine.routes.draw do
|
|
12
12
|
get 'session/expired', to: 'session#expired'
|
13
13
|
get 'session/complete', to: 'session#complete'
|
14
14
|
|
15
|
+
# save form journey
|
15
16
|
get 'save', to: 'save_and_return#show'
|
16
17
|
post 'saved_forms', to: 'save_and_return#create'
|
17
18
|
get 'save/email_confirmation', to: 'save_and_return#email_confirmation'
|
18
19
|
post 'email_confirmations', to: 'save_and_return#confirm_email'
|
19
20
|
get 'save/progress_saved', to: 'save_and_return#save_progress'
|
20
|
-
|
21
|
-
|
22
|
-
get '
|
23
|
-
|
24
|
-
get '
|
25
|
-
get '
|
26
|
-
get '
|
27
|
-
get '
|
21
|
+
|
22
|
+
# resume form journey
|
23
|
+
get '/return/:uuid', to: 'resume#return'
|
24
|
+
post 'resume_forms', to: 'resume#submit_secret_answer'
|
25
|
+
get 'resume_from_start', to: 'resume#resume_from_start'
|
26
|
+
get 'resume_progress', to: 'resume#resume_progress'
|
27
|
+
get 'record_error', to: 'resume#record_error'
|
28
|
+
get 'record_failure', to: 'resume#record_failure'
|
29
|
+
get 'expired', to: 'resume#record_link_expired'
|
30
|
+
get 'already_used', to: 'resume#record_link_used'
|
28
31
|
|
29
32
|
post '/', to: 'answers#create'
|
30
33
|
match '*path', to: 'answers#create', via: :post
|
data/fixtures/version.json
CHANGED
@@ -425,7 +425,8 @@
|
|
425
425
|
"collection": "components",
|
426
426
|
"validation": {
|
427
427
|
"required": true
|
428
|
-
}
|
428
|
+
},
|
429
|
+
"order": 2
|
429
430
|
},
|
430
431
|
{
|
431
432
|
"_id": "star-wars-knowledge_content_1",
|
@@ -433,7 +434,8 @@
|
|
433
434
|
"_type": "content",
|
434
435
|
"_uuid": "82444d3d-dab6-44c4-a147-e2650326c9eb",
|
435
436
|
"content": "Stay on target",
|
436
|
-
"collection": "components"
|
437
|
+
"collection": "components",
|
438
|
+
"order": 1
|
437
439
|
},
|
438
440
|
{
|
439
441
|
"_id": "star-wars-knowledge_radios_1",
|
@@ -493,7 +495,8 @@
|
|
493
495
|
"collection": "components",
|
494
496
|
"validation": {
|
495
497
|
"required": true
|
496
|
-
}
|
498
|
+
},
|
499
|
+
"order": 0
|
497
500
|
}
|
498
501
|
],
|
499
502
|
"add_component": "radios",
|
@@ -528,7 +531,7 @@
|
|
528
531
|
"heading": "Question",
|
529
532
|
"components": [
|
530
533
|
{
|
531
|
-
"_id":
|
534
|
+
"_id": "dog-picture_upload_1",
|
532
535
|
"name": "dog-picture_upload_1",
|
533
536
|
"_type": "upload",
|
534
537
|
"_uuid": "f056a76e-ec3f-47ae-b625-1bba92220ad1",
|
@@ -594,7 +597,7 @@
|
|
594
597
|
"heading": "Multiupload",
|
595
598
|
"components": [
|
596
599
|
{
|
597
|
-
"_id":
|
600
|
+
"_id": "dog-picture_upload_2",
|
598
601
|
"name": "dog-picture_upload_2",
|
599
602
|
"_type": "multiupload",
|
600
603
|
"_uuid": "f056a76e-ec3f-47ae-b625-1bba92220ad2",
|
@@ -668,10 +671,8 @@
|
|
668
671
|
"name": "countries_autocomplete_1",
|
669
672
|
"_type": "autocomplete",
|
670
673
|
"_uuid": "4dc23b9c-9757-4526-813d-b43efbe07dad",
|
671
|
-
"items": [
|
672
|
-
|
673
|
-
"errors": {
|
674
|
-
},
|
674
|
+
"items": [],
|
675
|
+
"errors": {},
|
675
676
|
"legend": "Countries",
|
676
677
|
"validation": {
|
677
678
|
"required": true,
|
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.15
|
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-02-
|
11
|
+
date: 2024-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_design_system_formbuilder
|
@@ -331,9 +331,11 @@ files:
|
|
331
331
|
- app/assets/stylesheets/metadata_presenter/application.css
|
332
332
|
- app/controllers/metadata_presenter/answers_controller.rb
|
333
333
|
- app/controllers/metadata_presenter/change_answer_controller.rb
|
334
|
+
- app/controllers/metadata_presenter/concerns/save_and_return.rb
|
334
335
|
- app/controllers/metadata_presenter/engine_controller.rb
|
335
336
|
- app/controllers/metadata_presenter/file_controller.rb
|
336
337
|
- app/controllers/metadata_presenter/pages_controller.rb
|
338
|
+
- app/controllers/metadata_presenter/resume_controller.rb
|
337
339
|
- app/controllers/metadata_presenter/save_and_return_controller.rb
|
338
340
|
- app/controllers/metadata_presenter/service_controller.rb
|
339
341
|
- app/controllers/metadata_presenter/session_controller.rb
|
@@ -457,14 +459,14 @@ files:
|
|
457
459
|
- app/views/metadata_presenter/page/singlequestion.html.erb
|
458
460
|
- app/views/metadata_presenter/page/standalone.html.erb
|
459
461
|
- app/views/metadata_presenter/page/start.html.erb
|
462
|
+
- app/views/metadata_presenter/resume/record_error.html.erb
|
463
|
+
- app/views/metadata_presenter/resume/record_failure.html.erb
|
464
|
+
- app/views/metadata_presenter/resume/record_link_expired.html.erb
|
465
|
+
- app/views/metadata_presenter/resume/record_link_used.html.erb
|
466
|
+
- app/views/metadata_presenter/resume/resume_from_start.html.erb
|
467
|
+
- app/views/metadata_presenter/resume/resume_progress.html.erb
|
468
|
+
- app/views/metadata_presenter/resume/return.html.erb
|
460
469
|
- app/views/metadata_presenter/save_and_return/email_confirmation.html.erb
|
461
|
-
- app/views/metadata_presenter/save_and_return/record_error.html.erb
|
462
|
-
- app/views/metadata_presenter/save_and_return/record_failure.html.erb
|
463
|
-
- app/views/metadata_presenter/save_and_return/record_link_expired.html.erb
|
464
|
-
- app/views/metadata_presenter/save_and_return/record_link_used.html.erb
|
465
|
-
- app/views/metadata_presenter/save_and_return/resume_from_start.html.erb
|
466
|
-
- app/views/metadata_presenter/save_and_return/resume_progress.html.erb
|
467
|
-
- app/views/metadata_presenter/save_and_return/return.html.erb
|
468
470
|
- app/views/metadata_presenter/save_and_return/save_progress.html.erb
|
469
471
|
- app/views/metadata_presenter/save_and_return/show.html.erb
|
470
472
|
- app/views/metadata_presenter/session/_timeout_fallback.html.erb
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|