From 1b24cd5a34e4930b4781892e942aac67ea84363c Mon Sep 17 00:00:00 2001 From: samyou-softwire Date: Thu, 2 Apr 2026 10:02:28 +0100 Subject: [PATCH] CLDC-3205: Add net income value check where missing hhmemb ecstat1..8 age2..8 (twice as the age question moved) --- .../lettings/pages/net_income_value_check.rb | 25 ++++++++++++++++--- .../subsections/household_characteristics.rb | 5 ++++ .../subsections/income_and_benefits.rb | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/models/form/lettings/pages/net_income_value_check.rb b/app/models/form/lettings/pages/net_income_value_check.rb index 9bdce131d..5eb850725 100644 --- a/app/models/form/lettings/pages/net_income_value_check.rb +++ b/app/models/form/lettings/pages/net_income_value_check.rb @@ -1,9 +1,9 @@ class Form::Lettings::Pages::NetIncomeValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @id = "net_income_value_check" + def initialize(id, hsh, subsection, person_index: nil) + super(id, hsh, subsection) @copy_key = "lettings.soft_validations.net_income_value_check" - @depends_on = [{ "net_income_soft_validation_triggered?" => true }] + @person_index = person_index + @depends_on = depends_on @title_text = { "translation" => "forms.#{form.start_date.year}.#{@copy_key}.title_text", "arguments" => [ @@ -32,6 +32,23 @@ class Form::Lettings::Pages::NetIncomeValueCheck < ::Form::Page } end + def depends_on + if @person_index.present? + [ + { + "net_income_soft_validation_triggered?" => true, + "details_known_#{@person_index}" => 0, + }, + ] + else + [ + { + "net_income_soft_validation_triggered?" => true, + }, + ] + end + end + def questions @questions ||= [Form::Lettings::Questions::NetIncomeValueCheck.new(nil, nil, self)] end diff --git a/app/models/form/lettings/subsections/household_characteristics.rb b/app/models/form/lettings/subsections/household_characteristics.rb index 50e2cfa61..3726d2a78 100644 --- a/app/models/form/lettings/subsections/household_characteristics.rb +++ b/app/models/form/lettings/subsections/household_characteristics.rb @@ -13,6 +13,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection (Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadHhmembValueCheck.new(nil, nil, self) unless form.start_year_2026_or_later?), (Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadHhmembValueCheck.new(nil, nil, self) unless form.start_year_2026_or_later?), (Form::Lettings::Pages::NoHouseholdMemberLikelyToBePregnantCheck.new("no_household_member_likely_to_be_pregnant_hhmemb_check", nil, self) if form.start_year_2026_or_later?), + Form::Lettings::Pages::NetIncomeValueCheck.new("hhmemb_net_income_value_check", nil, self), Form::Lettings::Pages::LeadTenantAge.new(nil, nil, self), (Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadAgeValueCheck.new(nil, nil, self) unless form.start_year_2026_or_later?), (Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadAgeValueCheck.new(nil, nil, self) unless form.start_year_2026_or_later?), @@ -37,6 +38,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::LeadTenantUnderRetirementValueCheck.new("working_situation_lead_tenant_under_retirement_value_check", nil, self), Form::Lettings::Pages::LeadTenantOverRetirementValueCheck.new("working_situation_lead_tenant_over_retirement_value_check", nil, self), (Form::Lettings::Pages::WorkingSituationIllnessCheckLead.new("working_situation_lead_tenant_long_term_illness_check", nil, self) if form.start_year_2026_or_later?), + Form::Lettings::Pages::NetIncomeValueCheck.new("working_situation_lead_tenant_net_income_value_check", nil, self), *person_questions(person_index: 2), *person_questions(person_index: 3), *person_questions(person_index: 4), @@ -51,6 +53,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection [ Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index:), (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index:) if form.start_year_2026_or_later?), + (Form::Lettings::Pages::NetIncomeValueCheck.new("person_#{person_index}_age_net_income_value_check", nil, self, person_index:) if form.start_year_2026_or_later?), relationship_question(person_index:), (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_#{person_index}_partner_under_16_value_check", nil, self, person_index:) unless form.start_year_2026_or_later?), (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_#{person_index}_multiple_partners_value_check", nil, self, person_index:) unless form.start_year_2026_or_later?), @@ -61,6 +64,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_#{person_index}_under_retirement_value_check", nil, self, person_index:), Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_#{person_index}_over_retirement_value_check", nil, self, person_index:), (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_#{person_index}_partner_under_16_value_check", nil, self, person_index:) unless form.start_year_2026_or_later?), + (Form::Lettings::Pages::NetIncomeValueCheck.new("age_#{person_index}_net_income_value_check", nil, self, person_index:) unless form.start_year_2026_or_later?), (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index:) if form.start_year_2026_or_later?), (Form::Lettings::Pages::PersonGenderSameAsSex.new(nil, nil, self, person_index:) if form.start_year_2026_or_later?), (Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index:) unless form.start_year_2026_or_later?), @@ -72,6 +76,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_#{person_index}_under_retirement_value_check", nil, self, person_index:), Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_#{person_index}_over_retirement_value_check", nil, self, person_index:), (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_#{person_index}_long_term_illness_check", nil, self, person_index:) if form.start_year_2026_or_later?), + Form::Lettings::Pages::NetIncomeValueCheck.new("working_situation_#{person_index}_net_income_value_check", nil, self, person_index:), ] end diff --git a/app/models/form/lettings/subsections/income_and_benefits.rb b/app/models/form/lettings/subsections/income_and_benefits.rb index e037dfc2a..36a36766d 100644 --- a/app/models/form/lettings/subsections/income_and_benefits.rb +++ b/app/models/form/lettings/subsections/income_and_benefits.rb @@ -10,7 +10,7 @@ class Form::Lettings::Subsections::IncomeAndBenefits < ::Form::Subsection @pages ||= [ Form::Lettings::Pages::IncomeKnown.new(nil, nil, self), Form::Lettings::Pages::IncomeAmount.new(nil, nil, self), - Form::Lettings::Pages::NetIncomeValueCheck.new(nil, nil, self), + Form::Lettings::Pages::NetIncomeValueCheck.new("income_amount_net_income_value_check", nil, self), Form::Lettings::Pages::HousingBenefit.new("housing_benefit", nil, self), Form::Lettings::Pages::BenefitsProportion.new("benefits_proportion", nil, self), Form::Lettings::Pages::RentOrOtherCharges.new(nil, nil, self),