metadata_presenter 3.0 → 3.0.2

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: c22dcad7276c3189e2ce7da59b29f395d86dbadce62490ae406eddd7097b4241
4
- data.tar.gz: 32cc3570632ba9ed5a48bd529627f2248fea6517746f7f0686ba62706591982b
3
+ metadata.gz: de4803f047828b34c584bbe1a6e3634e55ab62fb7dc5cf84af0e74179fab2bfd
4
+ data.tar.gz: 48d367b837b22dae94e57158a1f23471ac5c8f51bac70ece003bcaa528eed909
5
5
  SHA512:
6
- metadata.gz: e718b878af0b3159549da70fd8a922b7e6918be2b1d15075910d9a2181c216b59e68ed48892837957c1439d997066c8fe92f7daef8c1c3bfb0f53b00c6da4d99
7
- data.tar.gz: 0cbeea9f608702360fb6281eea0ae483063b325a96a3a358f60f86e0b7cb78765254efc3b4df306744a5d09c4a7f1a1adf8ee7cb017ff90309456ceeb0d81393
6
+ metadata.gz: 45740afe9df6c30057f70e6c8c8cd24f913c90f6bb63c49a04c4104abbf65c3a87333f648cb8ff55be537ff754a5cb1e86745dd9762acb2df2201ba03bfeebda
7
+ data.tar.gz: dd590ea13e20ce649630a7640e5877d56dca8081e2b8c118c22da9e4f43e62afaa39b3ddbdf185cc1e6b4f244aaafb9b37b1ca4d6995f8bd90a3deb5b95d8a60
@@ -1,5 +1,7 @@
1
1
  module MetadataPresenter
2
2
  class PagesController < EngineController
3
+ before_action :set_caching_header
4
+
3
5
  def show
4
6
  @user_data = load_user_data # method signature
5
7
  @page ||= service.find_page_by_url(request.env['PATH_INFO'])
@@ -8,6 +10,7 @@ module MetadataPresenter
8
10
  load_autocomplete_items
9
11
 
10
12
  @page_answers = PageAnswers.new(@page, @user_data)
13
+
11
14
  render template: @page.template
12
15
  else
13
16
  not_found
@@ -26,5 +29,11 @@ module MetadataPresenter
26
29
  def answered_pages
27
30
  TraversedPages.new(service, load_user_data, @page).all
28
31
  end
32
+
33
+ private
34
+
35
+ def set_caching_header
36
+ response.headers['Cache-Control'] = 'no-store'
37
+ end
29
38
  end
30
39
  end
@@ -42,6 +42,7 @@ module MetadataPresenter
42
42
  @saved_form.secret_question = params['saved_form']['secret_question']
43
43
  @saved_form.populate_service_values(service)
44
44
  @saved_form.populate_session_values(session)
45
+ @saved_form.service_slug = service_slug
45
46
  if @saved_form.valid?
46
47
  # put in session until we have confirmed email address
47
48
  @saved_form.secret_question = @saved_form.secret_question_text
@@ -231,5 +232,11 @@ module MetadataPresenter
231
232
  def label_text(text)
232
233
  "<h2 class='govuk-heading-m'>#{text}</h2>"
233
234
  end
235
+
236
+ private
237
+
238
+ def service_slug
239
+ @service_slug ||= service_slug_config
240
+ end
234
241
  end
235
242
  end
@@ -1,5 +1,7 @@
1
1
  module MetadataPresenter
2
2
  class SessionController < EngineController
3
3
  def expired; end
4
+
5
+ def complete; end
4
6
  end
5
7
  end
@@ -21,7 +21,7 @@ module MetadataPresenter
21
21
  :created_at,
22
22
  :updated_at
23
23
 
24
- validates :secret_question, :secret_answer, :service_slug, :page_slug, :service_version, :user_id, :user_token, presence: { message: 'Enter an answer for "%{attribute}"' }, allow_blank: false
24
+ validates :secret_question, :secret_answer, :page_slug, :service_version, :user_id, :user_token, presence: { message: 'Enter an answer for "%{attribute}"' }, allow_blank: false
25
25
 
26
26
  def initialize; end
27
27
 
@@ -38,7 +38,6 @@ module MetadataPresenter
38
38
  end
39
39
 
40
40
  def populate_service_values(service)
41
- self.service_slug = service.service_slug
42
41
  self.service_version = service.version_id
43
42
  end
44
43
 
@@ -38,8 +38,6 @@ class MetadataPresenter::Service < MetadataPresenter::Metadata
38
38
  end
39
39
 
40
40
  def service_slug
41
- return service_slug_config if service_slug_config.present?
42
-
43
41
  service_name.gsub(/['’]/, '').parameterize
44
42
  end
45
43
 
@@ -0,0 +1,9 @@
1
+ <div class="govuk-grid-row">
2
+ <div class="govuk-grid-column-two-thirds">
3
+ <h1 class="govuk-heading-l"><%= t('presenter.session_complete.title') %></h1>
4
+ <div class="maintenance-content">
5
+ <%= to_html t('presenter.session_complete.content') %>
6
+ <p><%= link_to t('presenter.session_complete.restart_link'), root_url %></p>
7
+ </div>
8
+ </div>
9
+ </div>
@@ -32,6 +32,10 @@ en:
32
32
  title: Your form has been reset
33
33
  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."
34
34
  restart_link: Start again
35
+ session_complete:
36
+ title: Submission complete
37
+ content: "This form has already been submitted.\r\n\r\nTo protect your personal information, we have reset the form and cleared your answers."
38
+ restart_link: Start again
35
39
  confirmation:
36
40
  reference_number: 'Your reference number is:'
37
41
  payment_enabled: You still need to pay
data/config/routes.rb CHANGED
@@ -9,6 +9,7 @@ MetadataPresenter::Engine.routes.draw do
9
9
  get '/reserved/file/:component_id', to: 'file#destroy', as: :remove_file
10
10
 
11
11
  get 'session/expired', to: 'session#expired'
12
+ get 'session/complete', to: 'session#complete'
12
13
 
13
14
  get 'save', to: 'save_and_return#show'
14
15
  post 'saved_forms', to: 'save_and_return#create'
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '3.0'.freeze
2
+ VERSION = '3.0.2'.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.0'
4
+ version: 3.0.2
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-05-24 00:00:00.000000000 Z
11
+ date: 2023-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -414,6 +414,7 @@ files:
414
414
  - app/views/metadata_presenter/save_and_return/show.html.erb
415
415
  - app/views/metadata_presenter/session/_timeout_fallback.html.erb
416
416
  - app/views/metadata_presenter/session/_timeout_warning_modal.html.erb
417
+ - app/views/metadata_presenter/session/complete.html.erb
417
418
  - app/views/metadata_presenter/session/expired.html.erb
418
419
  - config/initializers/default_metadata.rb
419
420
  - config/initializers/default_text.rb