metadata_presenter 2.15.0 → 2.15.1

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: 403f05545513e03fa74a28791ce736ec7cde6812e27f412ba8c60f8b18f8766c
4
- data.tar.gz: 2f8eddc4cb7cbb664d3b7577f56c50fe6a6e27326aa1bf5ef449eaec66940b78
3
+ metadata.gz: c872a270c9f0dcdaeda241c5f0d2a09d7b01f4f13334d191801f13b6026bca1d
4
+ data.tar.gz: 7da6c96aec0df8801aef5cf1e4d82ae39cfefd417fa47d26cb239a1c3ccd08b9
5
5
  SHA512:
6
- metadata.gz: 627b8dc27af8939370194ce5a7bd753da8f7213f147b1140698b4a9f7e22f087722975293d7dee622abc983a612be4d877b71be4b9655fb58f7f620aab6c5c7b
7
- data.tar.gz: 2a8c603f96b6692d851773db995a34b2ad232f60c766126b0ef5063531d5faad96572f8c576ebbd13a3c50aa06a8fb9f66773355355e1325b6be564327e3823e
6
+ metadata.gz: 24ee1c3b678200fce8eded2be159ea94cc27efed191e542ae0874f141896b5fdea8e6f7355547df367a39319aa6673f6ab22079c3dcb245d87202d33117d8819
7
+ data.tar.gz: d1a4b738bff3e02a61e6e76a3d5c90c32540e084c36faa874e98d8715c1db5cfe0a016023684a5f2e18a7a377acd4b24b6bfcef7a36869b15bde759bb176d13a
@@ -19,7 +19,7 @@ module MetadataPresenter
19
19
 
20
20
  class Grid
21
21
  include BranchDestinations
22
- attr_reader :start_from
22
+ attr_reader :service, :start_from
23
23
 
24
24
  def initialize(service, start_from: nil, main_flow: [])
25
25
  @service = service
@@ -67,9 +67,13 @@ module MetadataPresenter
67
67
  ordered_pages.map(&:uuid)
68
68
  end
69
69
 
70
+ def show_warning?
71
+ checkanswers_warning.show_warning? || confirmation_warning.show_warning?
72
+ end
73
+
70
74
  private
71
75
 
72
- attr_reader :service, :main_flow
76
+ attr_reader :main_flow
73
77
  attr_accessor :ordered, :traversed, :routes, :coordinates
74
78
 
75
79
  def route_from_start
@@ -277,46 +281,21 @@ module MetadataPresenter
277
281
  # Include a warning if a service does not have a CYA or Confirmation page in the
278
282
  # main flow. The warning should always be in the first row, last column.
279
283
  def insert_warning
280
- if cya_and_confirmation_pages_not_in_service? ||
281
- cya_and_confirmation_pages_detached?
282
- @ordered.append([MetadataPresenter::Warning.new])
283
- end
284
- end
285
-
286
- def cya_and_confirmation_pages_not_in_service?
287
- (checkanswers_not_in_service? && confirmation_not_in_service?) ||
288
- checkanswers_not_in_service? ||
289
- confirmation_not_in_service?
290
- end
291
-
292
- def checkanswers_not_in_service?
293
- service.checkanswers_page.blank?
284
+ @ordered.append([MetadataPresenter::Warning.new]) if show_warning?
294
285
  end
295
286
 
296
- def confirmation_not_in_service?
297
- service.confirmation_page.blank?
287
+ def checkanswers_warning
288
+ MetadataPresenter::PageWarning.new(
289
+ page: service.checkanswers_page,
290
+ main_flow_uuids: flow_uuids
291
+ )
298
292
  end
299
293
 
300
- def cya_and_confirmation_pages_detached?
301
- (checkanswers_detached? && confirmation_detached?) ||
302
- checkanswers_detached? ||
303
- confirmation_detached?
304
- end
305
-
306
- def checkanswers_detached?
307
- if service.checkanswers_page.present?
308
- uuid = service.checkanswers_page.uuid
309
- position = coordinates.positions[uuid]
310
- detached?(position)
311
- end
312
- end
313
-
314
- def confirmation_detached?
315
- if service.confirmation_page.present?
316
- uuid = service.confirmation_page.uuid
317
- position = coordinates.positions[uuid]
318
- detached?(position)
319
- end
294
+ def confirmation_warning
295
+ MetadataPresenter::PageWarning.new(
296
+ page: service.confirmation_page,
297
+ main_flow_uuids: flow_uuids
298
+ )
320
299
  end
321
300
 
322
301
  # Any destinations exiting the branch that have not already been traversed.
@@ -0,0 +1,24 @@
1
+ module MetadataPresenter
2
+ class PageWarning
3
+ def initialize(page:, main_flow_uuids:)
4
+ @page = page
5
+ @main_flow_uuids = main_flow_uuids
6
+ end
7
+
8
+ def show_warning?
9
+ missing? || detached?
10
+ end
11
+
12
+ def missing?
13
+ page.blank?
14
+ end
15
+
16
+ def detached?
17
+ main_flow_uuids.exclude?(page&.uuid)
18
+ end
19
+
20
+ private
21
+
22
+ attr_reader :page, :main_flow_uuids
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '2.15.0'.freeze
2
+ VERSION = '2.15.1'.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.15.0
4
+ version: 2.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-31 00:00:00.000000000 Z
11
+ date: 2022-01-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder
@@ -295,6 +295,7 @@ files:
295
295
  - app/models/metadata_presenter/offline_upload_adapter.rb
296
296
  - app/models/metadata_presenter/page.rb
297
297
  - app/models/metadata_presenter/page_answers.rb
298
+ - app/models/metadata_presenter/page_warning.rb
298
299
  - app/models/metadata_presenter/previous_page.rb
299
300
  - app/models/metadata_presenter/route.rb
300
301
  - app/models/metadata_presenter/row_number.rb