Browse Source

feat: store address input separately

pull/2278/head
natdeanlewissoftwire 2 years ago
parent
commit
7239b3d0d8
  1. 2
      app/models/form/lettings/pages/address_selection.rb
  2. 2
      app/models/form/lettings/questions/address_line1_for_address_matcher.rb
  3. 2
      app/models/form/lettings/questions/postcode_for_address_matcher.rb
  4. 12
      app/models/log.rb

2
app/models/form/lettings/pages/address_selection.rb

@ -12,7 +12,7 @@ class Form::Lettings::Pages::AddressSelection < ::Form::Page
end
def routed_to?(log, _current_user = nil)
log.uprn_known.present? && log.uprn_known.zero? && log.address_line1.present? && log.postcode_full.present?
log.uprn_known.present? && log.uprn_known.zero? && log.address_line1_input.present? && log.postcode_full_input.present?
end
def skip_text

2
app/models/form/lettings/questions/address_line1_for_address_matcher.rb

@ -1,7 +1,7 @@
class Form::Lettings::Questions::AddressLine1ForAddressMatcher < ::Form::Question
def initialize(id, hsh, page)
super
@id = "address_line1"
@id = "address_line1_input"
@header = "Address line 1"
@error_label = "Address line 1"
@type = "text"

2
app/models/form/lettings/questions/postcode_for_address_matcher.rb

@ -1,7 +1,7 @@
class Form::Lettings::Questions::PostcodeForAddressMatcher < ::Form::Question
def initialize(id, hsh, page)
super
@id = "postcode_full"
@id = "postcode_full_input"
@header = "Postcode"
@type = "text"
@width = 5

12
app/models/log.rb

@ -77,12 +77,12 @@ class Log < ApplicationRecord
end
def process_address_change!
if [address_selection, address_line1, postcode_full].all?(&:present?)
address_string = "#{address_line1}, , , #{postcode_full}"
if [address_selection, address_line1_input, postcode_full_input].all?(&:present?)
address_string = "#{address_line1_input}, , , #{postcode_full_input}"
service = AddressClient.new(address_string)
service.call
return errors.add(:address_line1, :address_error, message: service.error) if service.error.present?
return errors.add(:address_line1_input, :address_error, message: service.error) if service.error.present?
if address_selection.between?(0, 9)
presenter = AddressDataPresenter.new(service.result[address_selection])
@ -109,12 +109,12 @@ class Log < ApplicationRecord
end
def address_options
if [address_line1, postcode_full].all?(&:present?)
address_string = "#{address_line1}, , , #{postcode_full}"
if [address_line1_input, postcode_full_input].all?(&:present?)
address_string = "#{address_line1_input}, , , #{postcode_full_input}"
service = AddressClient.new(address_string)
service.call
return errors.add(:address_line1, :address_error, message: service.error) if service.error.present?
return errors.add(:address_line1_input, :address_error, message: service.error) if service.error.present?
address_options = []
service.result.first(10).each do |result|

Loading…
Cancel
Save