Browse Source

Replace uprn question

CLDC-3787-Autocomplete-address-search
Manny Dinssa 2 days ago
parent
commit
91733824f2
  1. 10
      app/models/form/lettings/pages/address_search.rb
  2. 26
      app/models/form/lettings/questions/address_search.rb
  3. 4
      app/models/form/lettings/subsections/property_information.rb
  4. 10
      app/models/form/sales/pages/address_search.rb
  5. 26
      app/models/form/sales/questions/address_search.rb
  6. 4
      app/models/form/sales/subsections/property_information.rb
  7. 2
      config/locales/forms/2024/lettings/property_information.en.yml
  8. 2
      config/locales/forms/2024/sales/property_information.en.yml
  9. 2
      config/locales/forms/2025/lettings/property_information.en.yml
  10. 2
      config/locales/forms/2025/sales/property_information.en.yml

10
app/models/form/lettings/pages/address_search.rb

@ -2,11 +2,11 @@ class Form::Lettings::Pages::AddressSearch < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "address_search"
@depends_on = [
{ "uprn_known" => nil },
{ "uprn_known" => 0 },
{ "uprn_confirmed" => 0 },
]
# @depends_on = [
# { "uprn_known" => nil },
# { "uprn_known" => 0 },
# { "uprn_confirmed" => 0 },
# ]
end
def questions

26
app/models/form/lettings/questions/address_search.rb

@ -5,6 +5,7 @@ class Form::Lettings::Questions::AddressSearch < ::Form::Question
@type = "address_autocomplete"
@plain_label = true
@bottom_guidance_partial = "address_search"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end
def answer_options(log = nil, _user = nil)
@ -21,11 +22,30 @@ class Form::Lettings::Questions::AddressSearch < ::Form::Question
answer_opts
end
def get_extra_check_answer_value(log)
return unless log.uprn_known == 1
value = [
log.address_line1,
log.address_line2,
log.town_or_city,
log.county,
log.postcode_full,
(LocalAuthority.find_by(code: log.la)&.name if log.la.present?),
].select(&:present?)
return unless value.any?
"\n\n#{value.join("\n")}"
end
def displayed_answer_options(log, user = nil)
answer_options(log, user).transform_values { |value| value["value"] } || {}
end
def hidden_in_check_answers?(log, _current_user = nil)
(log.uprn_known == 1 || log.uprn_confirmed == 1)
end
# def hidden_in_check_answers?(log, _current_user = nil)
# (log.uprn_known == 1 || log.uprn_confirmed == 1)
# end
QUESTION_NUMBER_FROM_YEAR = { 2024 => 12, 2025 => 12 }.freeze
end

4
app/models/form/lettings/subsections/property_information.rb

@ -32,8 +32,8 @@ class Form::Lettings::Subsections::PropertyInformation < ::Form::Subsection
def uprn_questions
if form.start_year_2024_or_later?
[
Form::Lettings::Pages::Uprn.new(nil, nil, self),
Form::Lettings::Pages::UprnConfirmation.new(nil, nil, self),
# Form::Lettings::Pages::Uprn.new(nil, nil, self),
# Form::Lettings::Pages::UprnConfirmation.new(nil, nil, self),
Form::Lettings::Pages::AddressSearch.new(nil, nil, self),
# Form::Lettings::Pages::AddressMatcher.new(nil, nil, self),
# Form::Lettings::Pages::NoAddressFound.new(nil, nil, self), # soft validation

10
app/models/form/sales/pages/address_search.rb

@ -2,11 +2,11 @@ class Form::Sales::Pages::AddressSearch < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "address_search"
@depends_on = [
{ "uprn_known" => nil },
{ "uprn_known" => 0 },
{ "uprn_confirmed" => 0 },
]
# @depends_on = [
# { "uprn_known" => nil },
# { "uprn_known" => 0 },
# { "uprn_confirmed" => 0 },
# ]
end
def questions

26
app/models/form/sales/questions/address_search.rb

@ -5,6 +5,7 @@ class Form::Sales::Questions::AddressSearch < ::Form::Question
@type = "address_autocomplete"
@plain_label = true
@bottom_guidance_partial = "address_search"
@question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
end
def answer_options(log = nil, _user = nil)
@ -21,11 +22,30 @@ class Form::Sales::Questions::AddressSearch < ::Form::Question
answer_opts
end
def get_extra_check_answer_value(log)
return unless log.uprn_known == 1
value = [
log.address_line1,
log.address_line2,
log.town_or_city,
log.county,
log.postcode_full,
(LocalAuthority.find_by(code: log.la)&.name if log.la.present?),
].select(&:present?)
return unless value.any?
"\n\n#{value.join("\n")}"
end
def displayed_answer_options(log, user = nil)
answer_options(log, user).transform_values { |value| value["value"] } || {}
end
def hidden_in_check_answers?(log, _current_user = nil)
(log.uprn_known == 1 || log.uprn_confirmed == 1)
end
# def hidden_in_check_answers?(log, _current_user = nil)
# (log.uprn_known == 1 || log.uprn_confirmed == 1)
# end
QUESTION_NUMBER_FROM_YEAR = { 2024 => 15, 2025 => 15 }.freeze
end

4
app/models/form/sales/subsections/property_information.rb

@ -24,8 +24,8 @@ class Form::Sales::Subsections::PropertyInformation < ::Form::Subsection
def uprn_questions
if form.start_year_2024_or_later?
[
Form::Sales::Pages::Uprn.new(nil, nil, self),
Form::Sales::Pages::UprnConfirmation.new(nil, nil, self),
# Form::Sales::Pages::Uprn.new(nil, nil, self),
# Form::Sales::Pages::UprnConfirmation.new(nil, nil, self),
Form::Sales::Pages::AddressSearch.new(nil, nil, self),
# Form::Sales::Pages::AddressMatcher.new(nil, nil, self),
# Form::Sales::Pages::NoAddressFound.new(nil, nil, self),

2
config/locales/forms/2024/lettings/property_information.en.yml

@ -52,7 +52,7 @@ en:
address_search:
page_header: "Find address"
check_answer_label: "Find address"
check_answer_label: "Address"
check_answer_prompt: "Search for address or UPRN"
hint_text: "For example, '1 Victoria Road' or '10010457355'"
question_text: "Enter the address or UPRN to search"

2
config/locales/forms/2024/sales/property_information.en.yml

@ -45,7 +45,7 @@ en:
address_search:
page_header: "Find address"
check_answer_label: "Find address"
check_answer_label: "Address"
check_answer_prompt: "Search for address or UPRN"
hint_text: "For example, '1 Victoria Road' or '10010457355'"
question_text: "Enter the address or UPRN to search"

2
config/locales/forms/2025/lettings/property_information.en.yml

@ -52,7 +52,7 @@ en:
address_search:
page_header: "Find address"
check_answer_label: "Find address"
check_answer_label: "Address"
check_answer_prompt: "Search for address or UPRN"
hint_text: "For example, '1 Victoria Road' or '10010457355'"
question_text: "Enter the address or UPRN to search"

2
config/locales/forms/2025/sales/property_information.en.yml

@ -45,7 +45,7 @@ en:
address_search:
page_header: "Find address"
check_answer_label: "Find address"
check_answer_label: "Address"
check_answer_prompt: "Search for address or UPRN"
hint_text: "For example, '1 Victoria Road' or '10010457355'"
question_text: "Enter the address or UPRN to search"

Loading…
Cancel
Save