diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index 1160fcf06..6d3af2f75 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -5,6 +5,10 @@ class FormController < ApplicationController def submit_form if @case_log + if is_referrer_review? + @case_log.update!(@case_log.attributes) + redirect_to(send(case_logs_path, @case_log)) + else @page = @case_log.form.get_page(params[:case_log][:page]) responses_for_page = responses_for_page(@page) if @case_log.update(responses_for_page) @@ -110,4 +114,9 @@ private referrer = request.headers["HTTP_REFERER"].presence || "" referrer.present? && CGI.parse(referrer.split("?")[-1]).present? && CGI.parse(referrer.split("?")[-1])["referrer"][0] == "check_answers" end + + def is_referrer_review? + referrer = request.headers["HTTP_REFERER"].presence || "" + referrer.present? && referrer.split("/")[-1].present? && referrer.split("/")[-1] == "review" + end end diff --git a/app/models/form/question.rb b/app/models/form/question.rb index 8d1d43a7c..69cafbe4a 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -168,6 +168,7 @@ private def checkbox_answer_label(case_log) answer = [] + return "Yes" if id == "declaration" && value_is_yes?(case_log["declaration"]) answer_options.each { |key, options| value_is_yes?(case_log[key]) ? answer << options["value"] : nil } answer.join(", ") end diff --git a/app/views/case_logs/_success.html.erb b/app/views/case_logs/_success.html.erb new file mode 100644 index 000000000..769b4de1c --- /dev/null +++ b/app/views/case_logs/_success.html.erb @@ -0,0 +1,12 @@ +
\ No newline at end of file diff --git a/app/views/case_logs/index.html.erb b/app/views/case_logs/index.html.erb index 8060f3c99..db44e88a4 100644 --- a/app/views/case_logs/index.html.erb +++ b/app/views/case_logs/index.html.erb @@ -1,5 +1,9 @@ <% content_for :title, "Logs" %> +<% if @case_log.present? %> +<%= render partial: "success", locals: { case_log: @case_log } %> +<% end %> +