metadata_presenter 3.0 → 3.0.2

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 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