|
|
|
@ -80,7 +80,7 @@ class Form |
|
|
|
subsections.find { |s| s.pages.find { |p| p.id == page.id } } |
|
|
|
subsections.find { |s| s.pages.find { |p| p.id == page.id } } |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def next_page_id(page, log, current_user) |
|
|
|
def next_page_id(page, log, current_user, ignore_answered = false) |
|
|
|
return page.next_unresolved_page_id || :check_answers if log.unresolved |
|
|
|
return page.next_unresolved_page_id || :check_answers if log.unresolved |
|
|
|
|
|
|
|
|
|
|
|
page_ids = subsection_for_page(page).pages.map(&:id) |
|
|
|
page_ids = subsection_for_page(page).pages.map(&:id) |
|
|
|
@ -93,13 +93,15 @@ class Form |
|
|
|
next_page = get_page(page_id) |
|
|
|
next_page = get_page(page_id) |
|
|
|
|
|
|
|
|
|
|
|
return :check_answers if next_page.nil? |
|
|
|
return :check_answers if next_page.nil? |
|
|
|
return next_page.id if next_page.routed_to?(log, current_user) |
|
|
|
return next_page.id if next_page.routed_to?(log, current_user) && |
|
|
|
|
|
|
|
(!ignore_answered || next_page.has_unanswered_questions?(log)) |
|
|
|
|
|
|
|
|
|
|
|
next_page_id(next_page, log, current_user) |
|
|
|
next_page_id(next_page, log, current_user, ignore_answered) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def next_page_redirect_path(page, log, current_user) |
|
|
|
def next_page_redirect_path(page, log, current_user, ignore_answered = false) |
|
|
|
next_page_id = next_page_id(page, log, current_user) |
|
|
|
puts ignore_answered |
|
|
|
|
|
|
|
next_page_id = next_page_id(page, log, current_user, ignore_answered) |
|
|
|
if next_page_id == :check_answers |
|
|
|
if next_page_id == :check_answers |
|
|
|
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path" |
|
|
|
"#{type}_log_#{subsection_for_page(page).id}_check_answers_path" |
|
|
|
else |
|
|
|
else |
|
|
|
|