diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 859df2bd2..cc2a4b484 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -58,8 +58,7 @@ class CaseLogsController < ApplicationController @case_log = CaseLog.find(params[:id]) @case_log.page = params[:case_log][:page] responses_for_page = responses_for_page(@case_log.page) - inferred_answers = get_inferred_answers(responses_for_page) - if @case_log.update(responses_for_page.merge(inferred_answers)) && @case_log.has_no_unresolved_soft_errors? + if @case_log.update(responses_for_page) && @case_log.has_no_unresolved_soft_errors? redirect_path = get_next_page_path(form, @case_log.page, @case_log) redirect_to(send(redirect_path, @case_log)) else @@ -117,23 +116,6 @@ private end end - def get_inferred_answers(responses_for_page) - result = {} - if responses_for_page["property_postcode"].present? - result["postcode"], result["postcod2"] = get_inferred_postcode(params["case_log"]["property_postcode"]) - end - if responses_for_page["previous_postcode"].present? - result["ppostc1"], result["ppostc2"] = get_inferred_postcode(params["case_log"]["previous_postcode"]) - end - result - end - - def get_inferred_postcode(postcode) - require "uk_postcode" - property_postcode = UKPostcode.parse(postcode) - [property_postcode.outcode, property_postcode.incode] - end - def json_api_request? API_ACTIONS.include?(request["action"]) && request.format.json? end diff --git a/app/models/case_log.rb b/app/models/case_log.rb index 201f64aae..73940008b 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -137,6 +137,30 @@ class CaseLog < ApplicationRecord end end + def postcode + if property_postcode.present? + get_inferred_postcode(property_postcode).outcode + end + end + + def postcod2 + if property_postcode.present? + get_inferred_postcode(property_postcode).incode + end + end + + def ppostc1 + if previous_postcode.present? + get_inferred_postcode(previous_postcode).outcode + end + end + + def ppostc2 + if previous_postcode.present? + get_inferred_postcode(previous_postcode).incode + end + end + def applicable_income_range return unless ecstat1 @@ -145,6 +169,11 @@ class CaseLog < ApplicationRecord private + def get_inferred_postcode(postcode) + require "uk_postcode" + UKPostcode.parse(postcode) + end + def update_status! self.status = if all_fields_completed? && errors.empty? "completed"