diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 8283ca85c..1c681047f 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -4,29 +4,19 @@ class CaseLogsController < ApplicationController @in_progress_case_logs = CaseLog.where(status: 0) end + # We don't have a dedicated non-editable show view def show @case_log = CaseLog.find(params[:id]) + render :edit end def edit @case_log = CaseLog.find(params[:id]) - render "case_logs/household/tenant_code" end - def update - @case_log = CaseLog.find(params[:id]) - @case_log.update!(tenant_code: params[:case_log][:tenant_code]) if params[:case_log] - render_next_question(@case_log) - end - -private - - def render_next_question(_case_log) - previous = params[:case_log].keys.first - next_question = { - "tenant_code" => "case_logs/household/tenant_age", - "tenant_age" => "case_logs/household/tenant_gender", - }[previous] - render next_question - end + # def update + # @case_log = CaseLog.find(params[:id]) + # @case_log.update!(tenant_code: params[:case_log][:tenant_code]) if params[:case_log] + # render_next_question(@case_log) + # end end diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb new file mode 100644 index 000000000..489f2f86e --- /dev/null +++ b/app/controllers/form_controller.rb @@ -0,0 +1,24 @@ +class FormController < ApplicationController + + FIRST_QUESTION_FOR_SUBSECTION = { + "Household characteristics" => "case_logs/household/tenant_code", + } + + NEXT_QUESTION = { + "tenant_code" => "case_logs/household/tenant_age", + "tenant_age" => "case_logs/household/tenant_gender", + "tenant_gender" => "case_logs/household/tenant_ethnic_group", + "tenant_ethnic_group" => "case_logs/household/tenant_nationality" + } + + + def next_question + subsection = params[:subsection] + result = if subsection + FIRST_QUESTION_FOR_SUBSECTION[subsection] + else + NEXT_QUESTION[params[:previous_question]] + end + render result + end +end diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 4f971b706..53ae39dda 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -9,6 +9,7 @@ import Rails from "@rails/ujs" import * as ActiveStorage from "@rails/activestorage" import "channels" import { initAll } from 'govuk-frontend' +import "@hotwired/turbo-rails" Rails.start() diff --git a/app/views/case_logs/_tasklist.html.erb b/app/views/case_logs/_tasklist.html.erb index ad0857488..9e79f4c01 100644 --- a/app/views/case_logs/_tasklist.html.erb +++ b/app/views/case_logs/_tasklist.html.erb @@ -18,7 +18,7 @@