diff --git a/app/models/form/lettings/pages/lead_tenant_gender_same_as_sex.rb b/app/models/form/lettings/pages/lead_tenant_gender_same_as_sex.rb new file mode 100644 index 000000000..dc506f708 --- /dev/null +++ b/app/models/form/lettings/pages/lead_tenant_gender_same_as_sex.rb @@ -0,0 +1,13 @@ +class Form::Lettings::Pages::LeadTenantGenderSameAsSex < ::Form::Page + def initialize(id, hsh, subsection) + super(id, hsh, subsection) + @id = "lead_tenant_gender_same_as_sex" + @depends_on = [{ "declaration" => 1 }] + end + + def questions + @questions ||= [ + Form::Lettings::Questions::GenderSameAsSex.new(nil, nil, self, person_index: 1), + ] + end +end diff --git a/app/models/form/lettings/pages/person_gender_same_as_sex.rb b/app/models/form/lettings/pages/person_gender_same_as_sex.rb new file mode 100644 index 000000000..9151c471c --- /dev/null +++ b/app/models/form/lettings/pages/person_gender_same_as_sex.rb @@ -0,0 +1,16 @@ +class Form::Lettings::Pages::PersonGenderSameAsSex < ::Form::Page + def initialize(id, hsh, subsection, person_index:) + super(id, hsh, subsection) + @id = "person_#{person_index}_gender_same_as_sex" + @person_index = person_index + @depends_on = [ + { "details_known_#{person_index}" => 0 }, + ] + end + + def questions + @questions ||= [ + Form::Lettings::Questions::GenderSameAsSex.new(nil, nil, self, person_index: @person_index), + ] + end +end diff --git a/app/models/form/lettings/questions/gender_same_as_sex.rb b/app/models/form/lettings/questions/gender_same_as_sex.rb new file mode 100644 index 000000000..746ddc1ab --- /dev/null +++ b/app/models/form/lettings/questions/gender_same_as_sex.rb @@ -0,0 +1,21 @@ +class Form::Lettings::Questions::GenderSameAsSex < ::Form::Question + def initialize(id, hsh, page, person_index:) + super(id, hsh, page) + @id = "gender_same_as_sex#{person_index}" + @type = "radio" + @check_answers_card_number = person_index + @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @person_index = person_index + end + + def answer_options + { + "1" => { "value" => "Yes" }, + "2" => { "value" => "No, enter gender identity" }, + "divider" => { "value" => true }, + "3" => { "value" => "#{@person_index == 1 ? 'Lead tenant' : 'Person'} prefers not to say" }, + }.freeze + end + + QUESTION_NUMBER_FROM_YEAR = { 2026 => 0 }.freeze +end diff --git a/app/models/form/lettings/subsections/household_characteristics.rb b/app/models/form/lettings/subsections/household_characteristics.rb index cfc53603e..d528e3772 100644 --- a/app/models/form/lettings/subsections/household_characteristics.rb +++ b/app/models/form/lettings/subsections/household_characteristics.rb @@ -18,6 +18,7 @@ class Form::Lettings::Subsections::HouseholdCharacteristics < ::Form::Subsection Form::Lettings::Pages::LeadTenantUnderRetirementValueCheck.new("age_lead_tenant_under_retirement_value_check", nil, self), Form::Lettings::Pages::LeadTenantOverRetirementValueCheck.new("age_lead_tenant_over_retirement_value_check", nil, self), (Form::Lettings::Pages::LeadTenantSexRegisteredAtBirth.new(nil, nil, self) if form.start_year_2026_or_later?), + (Form::Lettings::Pages::LeadTenantGenderSameAsSex.new(nil, nil, self) if form.start_year_2026_or_later?), Form::Lettings::Pages::LeadTenantGenderIdentity.new(nil, nil, self), Form::Lettings::Pages::NoFemalesPregnantHouseholdLeadValueCheck.new(nil, nil, self), Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdLeadValueCheck.new(nil, nil, self), @@ -33,170 +34,42 @@ 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::PersonKnown.new(nil, nil, self, person_index: 2), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 2) if form.start_year_2026_or_later?), - relationship_question(person_index: 2), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_2_partner_under_16_value_check", nil, self, person_index: 2) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_2_multiple_partners_value_check", nil, self, person_index: 2) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 2) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 2), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 2), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_2_under_retirement_value_check", nil, self, person_index: 2), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_2_over_retirement_value_check", nil, self, person_index: 2), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_2_partner_under_16_value_check", nil, self, person_index: 2) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 2) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 2), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 2), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 2), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_2_over_retirement_value_check", nil, self, person_index: 2), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 2), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_2_under_retirement_value_check", nil, self, person_index: 2), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_2_over_retirement_value_check", nil, self, person_index: 2), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_2_long_term_illness_check", nil, self, person_index: 2) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 3), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 3) if form.start_year_2026_or_later?), - relationship_question(person_index: 3), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_3_partner_under_16_value_check", nil, self, person_index: 3) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_3_multiple_partners_value_check", nil, self, person_index: 3) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 3) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 3), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 3), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_3_under_retirement_value_check", nil, self, person_index: 3), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_3_over_retirement_value_check", nil, self, person_index: 3), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_3_partner_under_16_value_check", nil, self, person_index: 3) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 3) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 3), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 3), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 3), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_3_over_retirement_value_check", nil, self, person_index: 3), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 3), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_3_under_retirement_value_check", nil, self, person_index: 3), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_3_over_retirement_value_check", nil, self, person_index: 3), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_3_long_term_illness_check", nil, self, person_index: 3) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 4), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 4) if form.start_year_2026_or_later?), - relationship_question(person_index: 4), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_4_partner_under_16_value_check", nil, self, person_index: 4) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_4_multiple_partners_value_check", nil, self, person_index: 4) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 4) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 4), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 4), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_4_under_retirement_value_check", nil, self, person_index: 4), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_4_over_retirement_value_check", nil, self, person_index: 4), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_4_partner_under_16_value_check", nil, self, person_index: 4) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 4) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 4), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 4), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 4), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_4_over_retirement_value_check", nil, self, person_index: 4), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 4), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_4_under_retirement_value_check", nil, self, person_index: 4), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_4_over_retirement_value_check", nil, self, person_index: 4), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_4_long_term_illness_check", nil, self, person_index: 4) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 5), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 5) if form.start_year_2026_or_later?), - relationship_question(person_index: 5), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_5_partner_under_16_value_check", nil, self, person_index: 5) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_5_multiple_partners_value_check", nil, self, person_index: 5) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 5) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 5), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 5), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_5_under_retirement_value_check", nil, self, person_index: 5), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_5_over_retirement_value_check", nil, self, person_index: 5), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_5_partner_under_16_value_check", nil, self, person_index: 5) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 5) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 5), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 5), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 5), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_5_over_retirement_value_check", nil, self, person_index: 5), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 5), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_5_under_retirement_value_check", nil, self, person_index: 5), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_5_over_retirement_value_check", nil, self, person_index: 5), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_5_long_term_illness_check", nil, self, person_index: 5) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 6), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 6) if form.start_year_2026_or_later?), - relationship_question(person_index: 6), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_6_partner_under_16_value_check", nil, self, person_index: 6) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_6_multiple_partners_value_check", nil, self, person_index: 6) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 6) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 6), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 6), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_6_under_retirement_value_check", nil, self, person_index: 6), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_6_over_retirement_value_check", nil, self, person_index: 6), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_6_partner_under_16_value_check", nil, self, person_index: 6) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 6) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 6), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 6), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 6), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_6_over_retirement_value_check", nil, self, person_index: 6), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 6), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_6_under_retirement_value_check", nil, self, person_index: 6), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_6_over_retirement_value_check", nil, self, person_index: 6), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_6_long_term_illness_check", nil, self, person_index: 6) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 7), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 7) if form.start_year_2026_or_later?), - relationship_question(person_index: 7), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_7_partner_under_16_value_check", nil, self, person_index: 7) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_7_multiple_partners_value_check", nil, self, person_index: 7) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 7) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 7), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 7), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_7_under_retirement_value_check", nil, self, person_index: 7), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_7_over_retirement_value_check", nil, self, person_index: 7), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_7_partner_under_16_value_check", nil, self, person_index: 7) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 7) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 7), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 7), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 7), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_7_over_retirement_value_check", nil, self, person_index: 7), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 7), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_7_under_retirement_value_check", nil, self, person_index: 7), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_7_over_retirement_value_check", nil, self, person_index: 7), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_7_long_term_illness_check", nil, self, person_index: 7) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonKnown.new(nil, nil, self, person_index: 8), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 8) if form.start_year_2026_or_later?), - relationship_question(person_index: 8), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_8_partner_under_16_value_check", nil, self, person_index: 8) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_8_multiple_partners_value_check", nil, self, person_index: 8) if form.start_year_2024_or_later?), - (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index: 8) unless form.start_year_2026_or_later?), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 8), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, - person_index: 8), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("age_8_under_retirement_value_check", nil, self, person_index: 8), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("age_8_over_retirement_value_check", nil, self, person_index: 8), - (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("age_8_partner_under_16_value_check", nil, self, person_index: 8) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), - (Form::Lettings::Pages::PersonSexRegisteredAtBirth.new(nil, nil, self, person_index: 8) if form.start_year_2026_or_later?), - Form::Lettings::Pages::PersonGenderIdentity.new(nil, nil, self, person_index: 8), - Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index: 8), - Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, - person_index: 8), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_8_over_retirement_value_check", nil, self, person_index: 8), - Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index: 8), - Form::Lettings::Pages::PersonUnderRetirementValueCheck.new("working_situation_8_under_retirement_value_check", nil, self, person_index: 8), - Form::Lettings::Pages::PersonOverRetirementValueCheck.new("working_situation_8_over_retirement_value_check", nil, self, person_index: 8), - (Form::Lettings::Pages::WorkingSituationIllnessCheckPerson.new("working_situation_8_long_term_illness_check", nil, self, person_index: 8) if form.start_year_2026_or_later?), + *person_questions(person_index: 2), + *person_questions(person_index: 3), + *person_questions(person_index: 4), + *person_questions(person_index: 5), + *person_questions(person_index: 6), + *person_questions(person_index: 7), + *person_questions(person_index: 8), ].compact end + def person_questions(person_index:) + [ + 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?), + relationship_question(person_index:), + (Form::Lettings::Pages::PartnerUnder16ValueCheck.new("relationship_#{person_index}_partner_under_16_value_check", nil, self, person_index:) if form.start_year_2024_or_later? && !form.start_year_2026_or_later?), + (Form::Lettings::Pages::MultiplePartnersValueCheck.new("relationship_#{person_index}_multiple_partners_value_check", nil, self, person_index:) if form.start_year_2024_or_later?), + (Form::Lettings::Pages::PersonAge.new(nil, nil, self, person_index:) unless form.start_year_2026_or_later?), + Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index:), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonAgeValueCheck.new(nil, nil, self, person_index:), + 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:) if form.start_year_2024_or_later? && !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:), + Form::Lettings::Pages::NoFemalesPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index:), + Form::Lettings::Pages::FemalesInSoftAgeRangeInPregnantHouseholdPersonValueCheck.new(nil, nil, self, person_index:), + Form::Lettings::Pages::PersonOverRetirementValueCheck.new("gender_#{person_index}_over_retirement_value_check", nil, self, person_index:), + Form::Lettings::Pages::PersonWorkingSituation.new(nil, nil, self, person_index:), + 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?), + ] + end + def relationship_question(person_index:) if form.start_year_2025_or_later? Form::Lettings::Pages::PersonLeadPartner.new(nil, nil, self, person_index:) diff --git a/config/locales/forms/2026/lettings/household_characteristics.en.yml b/config/locales/forms/2026/lettings/household_characteristics.en.yml index 780e18600..a354d1661 100644 --- a/config/locales/forms/2026/lettings/household_characteristics.en.yml +++ b/config/locales/forms/2026/lettings/household_characteristics.en.yml @@ -30,6 +30,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about the lead tenant's gender identity." question_text: "What was the lead tenant's sex at birth?" + gender_same_as_sex1: + page_header: "" + check_answer_label: "Lead tenant’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender the lead tenant identifies with the same as their sex registered at birth?" + sex1: page_header: "" check_answer_label: "Lead tenant’s gender identity" @@ -130,6 +137,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 2's sex at birth?" + gender_same_as_sex2: + page_header: "" + check_answer_label: "Person 2’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 2 identifies with the same as their sex registered at birth?" + sex2: page_header: "" check_answer_label: "Person 2’s gender identity" @@ -178,6 +192,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 3's sex at birth?" + gender_same_as_sex3: + page_header: "" + check_answer_label: "Person 3’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 3 identifies with the same as their sex registered at birth?" + sex3: page_header: "" check_answer_label: "Person 3’s gender identity" @@ -226,6 +247,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 4's sex at birth?" + gender_same_as_sex4: + page_header: "" + check_answer_label: "Person 4’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 4 identifies with the same as their sex registered at birth?" + sex4: page_header: "" check_answer_label: "Person 4’s gender identity" @@ -274,6 +302,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 5's sex at birth?" + gender_same_as_sex5: + page_header: "" + check_answer_label: "Person 5’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 5 identifies with the same as their sex registered at birth?" + sex5: page_header: "" check_answer_label: "Person 5’s gender identity" @@ -322,6 +357,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 6's sex at birth?" + gender_same_as_sex6: + page_header: "" + check_answer_label: "Person 6’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 6 identifies with the same as their sex registered at birth?" + sex6: page_header: "" check_answer_label: "Person 6’s gender identity" @@ -370,6 +412,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 7's sex at birth?" + gender_same_as_sex7: + page_header: "" + check_answer_label: "Person 7’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 7 identifies with the same as their sex registered at birth?" + sex7: page_header: "" check_answer_label: "Person 7’s gender identity" @@ -418,6 +467,13 @@ en: hint_text: "This is the sex that was registered at birth. The next question will ask about their gender identity." question_text: "What was person 8's sex at birth?" + gender_same_as_sex8: + page_header: "" + check_answer_label: "Person 8’s gender identity same as registered at birth" + check_answer_prompt: "" + hint_text: "" + question_text: "Is the gender person 8 identifies with the same as their sex registered at birth?" + sex8: page_header: "" check_answer_label: "Person 8’s gender identity"