Browse Source

feat: for 24/25 onwards, infer beds = 1 for bedsits, change hint text and remove validation

pull/2167/head
natdeanlewissoftwire 2 years ago
parent
commit
10ef4ebb83
  1. 6
      app/models/derived_variables/lettings_log_variables.rb
  2. 2
      app/models/form/lettings/pages/property_number_of_bedrooms.rb
  3. 5
      app/models/form/lettings/questions/beds.rb
  4. 4
      app/models/lettings_log.rb
  5. 2
      app/models/validations/property_validations.rb

6
app/models/derived_variables/lettings_log_variables.rb

@ -82,6 +82,9 @@ module DerivedVariables::LettingsLogVariables
self.prevten = 30 if owning_organisation&.provider_type == "LA" self.prevten = 30 if owning_organisation&.provider_type == "LA"
end end
end end
if is_bedsit? && form.start_year_after_2024?
self.beds = 1
end
child_under_16_constraints! child_under_16_constraints!
@ -168,6 +171,9 @@ private
self.wchair = nil self.wchair = nil
self.location_id = nil self.location_id = nil
end end
if unittype_gn_changed? && unittype_gn_was == 2 && form.start_year_after_2024?
self.beds = nil
end
end end
def get_totelder def get_totelder

2
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) def initialize(id, hsh, subsection)
super super
@id = "property_number_of_bedrooms" @id = "property_number_of_bedrooms"
@depends_on = [{ "is_general_needs?" => true }] @depends_on = [{ "is_general_needs?" => true, "is_beds_inferred?" => false }]
end end
def questions def questions

5
app/models/form/lettings/questions/beds.rb

@ -9,8 +9,11 @@ class Form::Lettings::Questions::Beds < ::Form::Question
@check_answers_card_number = 0 @check_answers_card_number = 0
@max = 12 @max = 12
@min = 1 @min = 1
@hint_text = "If shared accommodation, enter the number of bedrooms occupied by this household. A bedsit has 1 bedroom."
@step = 1 @step = 1
@question_number = 22 @question_number = 22
end 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 end

4
app/models/lettings_log.rb

@ -356,6 +356,10 @@ class LettingsLog < Log
unittype_gn == 2 unittype_gn == 2
end end
def is_beds_inferred?
form.start_year_after_2024? && is_bedsit?
end
def is_shared_housing? def is_shared_housing?
# 4: Shared flat or maisonette # 4: Shared flat or maisonette
# 9: Shared house # 9: Shared house

2
app/models/validations/property_validations.rb

@ -34,7 +34,7 @@ module Validations::PropertyValidations
def validate_shared_housing_rooms(record) def validate_shared_housing_rooms(record)
unless record.unittype_gn.nil? 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 :unittype_gn, I18n.t("validations.property.unittype_gn.one_bedroom_bedsit")
record.errors.add :beds, I18n.t("validations.property.unittype_gn.one_bedroom_bedsit") record.errors.add :beds, I18n.t("validations.property.unittype_gn.one_bedroom_bedsit")
end end

Loading…
Cancel
Save