From ad45f17ab4723737b94a0b8a5a23ee65b5f44e8e Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Tue, 11 Feb 2025 13:14:59 +0000 Subject: [PATCH] Fix address options for address search question --- .../form/lettings/questions/address_search.rb | 1 - .../form/sales/questions/address_search.rb | 1 - app/models/log.rb | 43 +++++++++++-------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/app/models/form/lettings/questions/address_search.rb b/app/models/form/lettings/questions/address_search.rb index b711829ff..bd2e769b9 100644 --- a/app/models/form/lettings/questions/address_search.rb +++ b/app/models/form/lettings/questions/address_search.rb @@ -19,7 +19,6 @@ class Form::Lettings::Questions::AddressSearch < ::Form::Question answer_opts[log.address_options[i][:uprn]] = { "value" => log.address_options[i][:address] } end - answer_opts["divider"] = { "value" => true } answer_opts end diff --git a/app/models/form/sales/questions/address_search.rb b/app/models/form/sales/questions/address_search.rb index f0b73b454..b1995039b 100644 --- a/app/models/form/sales/questions/address_search.rb +++ b/app/models/form/sales/questions/address_search.rb @@ -19,7 +19,6 @@ class Form::Sales::Questions::AddressSearch < ::Form::Question answer_opts[log.address_options[i][:uprn]] = { "value" => log.address_options[i][:address] } end - answer_opts["divider"] = { "value" => true } answer_opts end diff --git a/app/models/log.rb b/app/models/log.rb index b31166f40..47f3e599c 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -126,28 +126,37 @@ class Log < ApplicationRecord end def address_options - search_query = address_search.presence || address_string - return @address_options if @address_options && @last_searched_address_string == search_query + if address_search.present? + service = UprnClient.new(address_search) + service.call + if service.result.blank? || service.error.present? + @address_options = [] + return @address_options + end - search_query = address_search.presence || address_string - return if search_query.blank? + presenter = AddressDataPresenter.new(service.result) + @address_options = [{ address: presenter.address, uprn: presenter.uprn }] + else + return @address_options if @address_options && @last_searched_address_string == address_string + return if address_string.blank? - @last_searched_address_string = search_query + @last_searched_address_string = address_string - service = AddressClient.new(address_string) - service.call - if service.result.blank? || service.error.present? - @address_options = [] - return @answer_options - end + service = AddressClient.new(address_string) + service.call + if service.result.blank? || service.error.present? + @address_options = [] + return @address_options + end - address_opts = [] - service.result.first(10).each do |result| - presenter = AddressDataPresenter.new(result) - address_opts.append({ address: presenter.address, uprn: presenter.uprn }) - end + address_opts = [] + service.result.first(10).each do |result| + presenter = AddressDataPresenter.new(result) + address_opts.append({ address: presenter.address, uprn: presenter.uprn }) + end - @address_options = address_opts + @address_options = address_opts + end end def collection_start_year