diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index b2adf9fa1..949c6ff2b 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -82,6 +82,9 @@ module DerivedVariables::LettingsLogVariables self.prevten = 30 if owning_organisation&.provider_type == "LA" end end + if is_bedsit? && form.start_year_after_2024? + self.beds = 1 + end child_under_16_constraints! @@ -168,6 +171,9 @@ private self.wchair = nil self.location_id = nil end + if unittype_gn_changed? && unittype_gn_was == 2 && form.start_year_after_2024? + self.beds = nil + end end def get_totelder diff --git a/app/models/form/lettings/pages/property_number_of_bedrooms.rb b/app/models/form/lettings/pages/property_number_of_bedrooms.rb index c3a1a2365..8ed9dc37a 100644 --- a/app/models/form/lettings/pages/property_number_of_bedrooms.rb +++ b/app/models/form/lettings/pages/property_number_of_bedrooms.rb @@ -2,7 +2,7 @@ class Form::Lettings::Pages::PropertyNumberOfBedrooms < ::Form::Page def initialize(id, hsh, subsection) super @id = "property_number_of_bedrooms" - @depends_on = [{ "is_general_needs?" => true }] + @depends_on = [{ "is_general_needs?" => true, "is_beds_inferred?" => false }] end def questions diff --git a/app/models/form/lettings/questions/beds.rb b/app/models/form/lettings/questions/beds.rb index 6fa6c7c2b..e75e688bb 100644 --- a/app/models/form/lettings/questions/beds.rb +++ b/app/models/form/lettings/questions/beds.rb @@ -9,8 +9,11 @@ class Form::Lettings::Questions::Beds < ::Form::Question @check_answers_card_number = 0 @max = 12 @min = 1 - @hint_text = "If shared accommodation, enter the number of bedrooms occupied by this household. A bedsit has 1 bedroom." @step = 1 @question_number = 22 end + + def hint_text + form.start_year_after_2024? ? "If shared accommodation, enter the number of bedrooms occupied by this household." : "If shared accommodation, enter the number of bedrooms occupied by this household. A bedsit has 1 bedroom." + end end diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 9b128dd25..64a2700e1 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -356,6 +356,10 @@ class LettingsLog < Log unittype_gn == 2 end + def is_beds_inferred? + form.start_year_after_2024? && is_bedsit? + end + def is_shared_housing? # 4: Shared flat or maisonette # 9: Shared house diff --git a/app/models/validations/property_validations.rb b/app/models/validations/property_validations.rb index 2f2d8d6b8..ba8318282 100644 --- a/app/models/validations/property_validations.rb +++ b/app/models/validations/property_validations.rb @@ -34,7 +34,7 @@ module Validations::PropertyValidations def validate_shared_housing_rooms(record) unless record.unittype_gn.nil? - if record.is_bedsit? && record.beds != 1 && record.beds.present? + if record.is_bedsit? && record.beds != 1 && record.beds.present? && !record.form.start_year_after_2024? record.errors.add :unittype_gn, I18n.t("validations.property.unittype_gn.one_bedroom_bedsit") record.errors.add :beds, I18n.t("validations.property.unittype_gn.one_bedroom_bedsit") end