Browse Source

Add next_unresolved_page_id to pages

pull/1035/head
Kat 4 years ago
parent
commit
31d6614484
  1. 51
      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

51
app/models/form.rb

@ -56,40 +56,31 @@ class Form
end
def next_page(page, log, current_user)
page_ids = subsection_for_page(page).pages.map(&: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)
previous_page(page_ids, page_index, log, current_user)
else
page_ids[page_index + 1]
end
nxt_page = get_page(page_id)
return :check_answers if nxt_page.nil?
return nxt_page.id if nxt_page.routed_to?(log, current_user)
next_page(nxt_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_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)
previous_page(page_ids, page_index, log, current_user)
else
page_ids[page_index + 1]
end
nxt_page = get_page(page_id)
return :check_answers if nxt_page.nil?
return nxt_page.id if nxt_page.routed_to?(log, current_user)
next_page(nxt_page, log, current_user)
end
end
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
nxt_page = next_page(page, log, current_user)
if nxt_page == :check_answers
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path"
else
nxt_page = next_page(page, log, current_user)
if nxt_page == :check_answers
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path"
else
"#{type}_log_#{nxt_page}_path"
end
"#{type}_log_#{nxt_page}_path"
end
end

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

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

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

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

3
app/models/form/page.rb

@ -1,6 +1,6 @@
class Form::Page
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)
@id = id
@ -14,6 +14,7 @@ class Form::Page
@title_text = hsh["title_text"]
@informative_text = hsh["informative_text"]
@hide_subsection_label = hsh["hide_subsection_label"]
@next_unresolved_page_id = hsh["next_unresolved_page_id"]
end
end

Loading…
Cancel
Save