From 5b7d00e1d54d66c781550d8c343532132580b57c Mon Sep 17 00:00:00 2001 From: Nat Dean-Lewis Date: Mon, 7 Sep 2026 16:27:15 +0100 Subject: [PATCH] feat: route la question when not inferred for supported housing --- app/models/derived_variables/lettings_log_variables.rb | 10 +++++++--- .../form/lettings/pages/property_local_authority.rb | 1 + app/models/lettings_log.rb | 6 +++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index 230b2a1dc..1803638dd 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -176,9 +176,13 @@ module DerivedVariables::LettingsLogVariables if !form.start_year_2026_or_later? && is_supported_housing? reset_address_fields! - elsif form.start_year_2026_or_later? && location_changed? - reset_address_fields! - self.la = nil + elsif form.start_year_2026_or_later? + if location_changed? + reset_address_fields! + self.la = nil + end + + self.is_la_inferred = la.present? if is_supported_housing? && location && self[:la].blank? end if scheme_has_confidential_information? diff --git a/app/models/form/lettings/pages/property_local_authority.rb b/app/models/form/lettings/pages/property_local_authority.rb index 5656ec2d9..f552776a0 100644 --- a/app/models/form/lettings/pages/property_local_authority.rb +++ b/app/models/form/lettings/pages/property_local_authority.rb @@ -5,6 +5,7 @@ class Form::Lettings::Pages::PropertyLocalAuthority < ::Form::Page @depends_on = [ { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2025_or_later?" => false, "address_search_given?" => true }, { "is_la_inferred" => false, "is_general_needs?" => true, "form.start_year_2025_or_later?" => true }, + { "is_la_inferred" => false, "is_supported_housing?" => true, "form.start_year_2026_or_later?" => true }, ] end diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 1eb9078ff..f5c153f66 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -31,7 +31,7 @@ class LettingsLog < Log before_validation :process_postcode_changes!, if: :postcode_full_changed? before_validation :process_previous_postcode_changes!, if: :ppostcode_full_changed? before_validation :reset_invalidated_dependent_fields! - before_validation :reset_location_fields!, unless: :postcode_known? + before_validation :reset_location_fields!, unless: :postcode_known_or_la_derived_from_scheme_location? before_validation :reset_previous_location_fields!, unless: :previous_postcode_known? before_validation :set_derived_fields! before_validation :process_uprn_change!, if: :should_process_uprn_change? @@ -375,6 +375,10 @@ class LettingsLog < Log postcode_known == 1 end + def postcode_known_or_la_derived_from_scheme_location? + postcode_known? || (form&.start_year_2026_or_later? && is_supported_housing? && location.present?) + end + def previous_postcode_known? # 0: Yes ppcodenk&.zero?