From 41acb6212366e359c2cb40b64d753be6a4fc265b Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Thu, 14 Mar 2024 10:07:18 +0000 Subject: [PATCH] feat: update routing --- app/models/form/lettings/pages/no_address_found.rb | 6 +++++- app/models/form/lettings/pages/property_local_authority.rb | 4 +++- app/models/form/lettings/pages/uprn_selection.rb | 6 +++++- app/models/form/sales/pages/no_address_found.rb | 7 ++++++- app/models/form/sales/pages/property_local_authority.rb | 6 +++--- app/models/form/sales/pages/uprn_selection.rb | 7 +++++-- app/models/lettings_log.rb | 4 ++++ app/models/sales_log.rb | 4 ++++ 8 files changed, 35 insertions(+), 9 deletions(-) diff --git a/app/models/form/lettings/pages/no_address_found.rb b/app/models/form/lettings/pages/no_address_found.rb index 23eba8eed..b1a78caf6 100644 --- a/app/models/form/lettings/pages/no_address_found.rb +++ b/app/models/form/lettings/pages/no_address_found.rb @@ -11,7 +11,11 @@ class Form::Lettings::Pages::NoAddressFound < ::Form::Page "translation" => "soft_validations.no_address_found.informative_text", "arguments" => [], } - @depends_on = [{ "address_options_present?" => false }] + @depends_on = [ + { "is_supported_housing?" => false, "uprn_known" => nil, "address_options_present?" => false }, + { "is_supported_housing?" => false, "uprn_known" => 0, "address_options_present?" => false }, + { "is_supported_housing?" => false, "uprn_confirmed" => 0, "address_options_present?" => false }, + ] end def questions diff --git a/app/models/form/lettings/pages/property_local_authority.rb b/app/models/form/lettings/pages/property_local_authority.rb index 2c64e3628..9e36030a2 100644 --- a/app/models/form/lettings/pages/property_local_authority.rb +++ b/app/models/form/lettings/pages/property_local_authority.rb @@ -2,7 +2,9 @@ class Form::Lettings::Pages::PropertyLocalAuthority < ::Form::Page def initialize(id, hsh, subsection) super @id = "property_local_authority" - @depends_on = [{ "is_la_inferred" => false, "is_general_needs?" => true }] + @depends_on = [ + { "is_la_inferred" => false, "is_general_needs?" => true, "address_search_given?" => true } + ] end def questions diff --git a/app/models/form/lettings/pages/uprn_selection.rb b/app/models/form/lettings/pages/uprn_selection.rb index 521c1e270..8d3640740 100644 --- a/app/models/form/lettings/pages/uprn_selection.rb +++ b/app/models/form/lettings/pages/uprn_selection.rb @@ -3,7 +3,11 @@ class Form::Lettings::Pages::UprnSelection < ::Form::Page super @id = "uprn_selection" @header = "We found some addresses that might be this property" - @depends_on = [{ "address_options_present?" => true }] + @depends_on = [ + { "is_supported_housing?" => false, "uprn_known" => nil, "address_options_present?" => true }, + { "is_supported_housing?" => false, "uprn_known" => 0, "address_options_present?" => true }, + { "is_supported_housing?" => false, "uprn_confirmed" => 0, "address_options_present?" => true }, + ] end def questions diff --git a/app/models/form/sales/pages/no_address_found.rb b/app/models/form/sales/pages/no_address_found.rb index a37408379..6e3b04f40 100644 --- a/app/models/form/sales/pages/no_address_found.rb +++ b/app/models/form/sales/pages/no_address_found.rb @@ -11,7 +11,12 @@ class Form::Sales::Pages::NoAddressFound < ::Form::Page "translation" => "soft_validations.no_address_found.informative_text", "arguments" => [], } - @depends_on = [{ "address_options_present?" => false }] + @depends_on = [ + { "uprn_known" => nil, "address_options_present?" => false }, + { "uprn_known" => 0, "address_options_present?" => false }, + { "uprn_confirmed" => 0, "address_options_present?" => false }, + + ] end def questions diff --git a/app/models/form/sales/pages/property_local_authority.rb b/app/models/form/sales/pages/property_local_authority.rb index 81d4382d9..59403a20c 100644 --- a/app/models/form/sales/pages/property_local_authority.rb +++ b/app/models/form/sales/pages/property_local_authority.rb @@ -2,9 +2,9 @@ class Form::Sales::Pages::PropertyLocalAuthority < ::Form::Page def initialize(id, hsh, subsection) super @id = "property_local_authority" - @depends_on = [{ - "is_la_inferred" => false, - }] + @depends_on = [ + { "is_la_inferred" => false, "address_search_given?" => true }, + ] end def questions diff --git a/app/models/form/sales/pages/uprn_selection.rb b/app/models/form/sales/pages/uprn_selection.rb index 71ab3c5ac..9848ee02c 100644 --- a/app/models/form/sales/pages/uprn_selection.rb +++ b/app/models/form/sales/pages/uprn_selection.rb @@ -3,8 +3,11 @@ class Form::Sales::Pages::UprnSelection < ::Form::Page super @id = "uprn_selection" @header = "We found some addresses that might be this property" - @depends_on = [{ "address_options_present?" => true }] - end + @depends_on = [ + { "uprn_known" => nil, "address_options_present?" => true }, + { "uprn_known" => 0, "address_options_present?" => true }, + { "uprn_confirmed" => 0, "address_options_present?" => true }, + ] end def questions @questions ||= [ diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index c8ab06b3d..e6d950c59 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -687,6 +687,10 @@ class LettingsLog < Log LettingsLog.where.not(duplicate_set_id: nil).where(duplicate_set_id:).where.not(id:) end + def address_search_given? + address_line1_input.present? && postcode_full.present? + end + private def reset_invalid_unresolved_log_fields! diff --git a/app/models/sales_log.rb b/app/models/sales_log.rb index e75e4bb55..f35393a51 100644 --- a/app/models/sales_log.rb +++ b/app/models/sales_log.rb @@ -530,4 +530,8 @@ class SalesLog < Log def stairowned_100? stairowned == 100 end + + def address_search_given? + address_line1_input.present? && postcode_full.present? + end end