Browse Source

Add next_unresolved_page_id to pages

pull/1035/head
Kat 4 years ago
parent
commit
31d6614484
  1. 17
      app/models/form.rb
  2. 1
      app/models/form/lettings/pages/location.rb
  3. 1
      app/models/form/lettings/pages/scheme.rb
  4. 1
      app/models/form/lettings/pages/tenancy_start_date.rb
  5. 3
      app/models/form/page.rb

17
app/models/form.rb

@ -56,6 +56,9 @@ class Form
end end
def next_page(page, log, current_user) def next_page(page, log, current_user)
if log.unresolved
page.next_unresolved_page_id || :check_answers
else
page_ids = subsection_for_page(page).pages.map(&:id) page_ids = subsection_for_page(page).pages.map(&:id)
page_index = page_ids.index(page.id) page_index = page_ids.index(page.id)
page_id = if page.id.include?("value_check") && log[page.questions[0].id] == 1 && page.routed_to?(log, current_user) page_id = if page.id.include?("value_check") && log[page.questions[0].id] == 1 && page.routed_to?(log, current_user)
@ -70,20 +73,9 @@ class Form
next_page(nxt_page, log, current_user) next_page(nxt_page, log, current_user)
end end
end
def next_page_redirect_path(page, log, current_user) def next_page_redirect_path(page, log, current_user)
if log.unresolved
case page.id
when "tenancy_start_date"
"lettings_log_scheme_path"
when "scheme"
"lettings_log_location_path"
when "location"
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path"
else
"lettings_log_tenancy_start_date_path"
end
else
nxt_page = next_page(page, log, current_user) nxt_page = next_page(page, log, current_user)
if nxt_page == :check_answers if nxt_page == :check_answers
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path" "#{type}_log_#{subsection_for_page(page).id}_check_answers_path"
@ -91,7 +83,6 @@ class Form
"#{type}_log_#{nxt_page}_path" "#{type}_log_#{nxt_page}_path"
end end
end end
end
def cancel_path(page, log) def cancel_path(page, log)
"#{log.class.name.underscore}_#{page.subsection.id}_check_answers_path" "#{log.class.name.underscore}_#{page.subsection.id}_check_answers_path"

1
app/models/form/lettings/pages/location.rb

@ -7,6 +7,7 @@ class Form::Lettings::Pages::Location < ::Form::Page
"needstype" => 2, "needstype" => 2,
"scheme_has_multiple_locations?" => true, "scheme_has_multiple_locations?" => true,
}] }]
@next_unresolved_page_id = :check_answers
end end
def questions def questions

1
app/models/form/lettings/pages/scheme.rb

@ -6,6 +6,7 @@ class Form::Lettings::Pages::Scheme < ::Form::Page
@depends_on = [{ @depends_on = [{
"needstype" => 2, "needstype" => 2,
}] }]
@next_unresolved_page_id = "location"
end end
def questions def questions

1
app/models/form/lettings/pages/tenancy_start_date.rb

@ -4,6 +4,7 @@ class Form::Lettings::Pages::TenancyStartDate < ::Form::Page
@id = "tenancy_start_date" @id = "tenancy_start_date"
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@next_unresolved_page_id = "scheme"
end end
def questions def questions

3
app/models/form/page.rb

@ -1,6 +1,6 @@
class Form::Page class Form::Page
attr_accessor :id, :header, :header_partial, :description, :questions, :depends_on, :title_text, attr_accessor :id, :header, :header_partial, :description, :questions, :depends_on, :title_text,
:informative_text, :subsection, :hide_subsection_label :informative_text, :subsection, :hide_subsection_label, :next_unresolved_page_id
def initialize(id, hsh, subsection) def initialize(id, hsh, subsection)
@id = id @id = id
@ -14,6 +14,7 @@ class Form::Page
@title_text = hsh["title_text"] @title_text = hsh["title_text"]
@informative_text = hsh["informative_text"] @informative_text = hsh["informative_text"]
@hide_subsection_label = hsh["hide_subsection_label"] @hide_subsection_label = hsh["hide_subsection_label"]
@next_unresolved_page_id = hsh["next_unresolved_page_id"]
end end
end end

Loading…
Cancel
Save