Browse Source

Move inferred postcode to model

pull/83/head
Kat 4 years ago
parent
commit
400442e9c5
  1. 20
      app/controllers/case_logs_controller.rb
  2. 29
      app/models/case_log.rb

20
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

29
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"

Loading…
Cancel
Save