|
|
@ -43,7 +43,7 @@ class CaseLogsController < ApplicationController |
|
|
|
responses_for_page = question_responses(questions_for_page) |
|
|
|
responses_for_page = question_responses(questions_for_page) |
|
|
|
@case_log.previous_page = previous_page |
|
|
|
@case_log.previous_page = previous_page |
|
|
|
if @case_log.update(responses_for_page) |
|
|
|
if @case_log.update(responses_for_page) |
|
|
|
redirect_path = form.next_page_redirect_path(previous_page) |
|
|
|
redirect_path = get_next_page_path(form, previous_page, responses_for_page) |
|
|
|
redirect_to(send(redirect_path, @case_log)) |
|
|
|
redirect_to(send(redirect_path, @case_log)) |
|
|
|
else |
|
|
|
else |
|
|
|
page_info = form.all_pages[previous_page] |
|
|
|
page_info = form.all_pages[previous_page] |
|
|
@ -51,20 +51,6 @@ class CaseLogsController < ApplicationController |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def self.get_next_page_path(form, previous_page, responses_for_page={}) |
|
|
|
|
|
|
|
questions_for_page = form.questions_for_page(previous_page) |
|
|
|
|
|
|
|
questions_for_page.each do |question, content| |
|
|
|
|
|
|
|
if(content.key?("conditional_route_to")) |
|
|
|
|
|
|
|
content["conditional_route_to"].each do |route, answer| |
|
|
|
|
|
|
|
if responses_for_page[question.to_sym] == answer |
|
|
|
|
|
|
|
return "case_log_#{route.to_s}_path" |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
form.next_page_redirect_path(previous_page) |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_answers |
|
|
|
def check_answers |
|
|
|
form = @@form_handler.get_form("2021_2022") |
|
|
|
form = @@form_handler.get_form("2021_2022") |
|
|
|
@case_log = CaseLog.find(params[:case_log_id]) |
|
|
|
@case_log = CaseLog.find(params[:case_log_id]) |
|
|
@ -110,4 +96,18 @@ private |
|
|
|
|
|
|
|
|
|
|
|
params.require(:case_log).permit(CaseLog.editable_fields) |
|
|
|
params.require(:case_log).permit(CaseLog.editable_fields) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_next_page_path(form, previous_page, responses_for_page={}) |
|
|
|
|
|
|
|
questions_for_page = form.questions_for_page(previous_page) |
|
|
|
|
|
|
|
questions_for_page.each do |question, content| |
|
|
|
|
|
|
|
if(content.key?("conditional_route_to")) |
|
|
|
|
|
|
|
content["conditional_route_to"].each do |route, answer| |
|
|
|
|
|
|
|
if responses_for_page[question] == answer |
|
|
|
|
|
|
|
return "case_log_#{route.to_s}_path" |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
form.next_page_redirect_path(previous_page) |
|
|
|
|
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|