diff --git a/app/models/form/lettings/questions/address_line1.rb b/app/models/form/lettings/questions/address_line1.rb index 4b1f67931..2f88b210e 100644 --- a/app/models/form/lettings/questions/address_line1.rb +++ b/app/models/form/lettings/questions/address_line1.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::AddressLine1 < ::Form::Question @type = "text" @plain_label = true @disable_clearing_if_not_routed_or_dynamic_answer_options = true - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @hide_question_number_on_page = true end @@ -18,5 +18,5 @@ class Form::Lettings::Questions::AddressLine1 < ::Form::Question ].select(&:present?).join("\n") end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17, 2026 => 17 }.freeze end diff --git a/app/models/form/lettings/questions/address_search.rb b/app/models/form/lettings/questions/address_search.rb index c6abe9a6c..eb970a5e5 100644 --- a/app/models/form/lettings/questions/address_search.rb +++ b/app/models/form/lettings/questions/address_search.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::AddressSearch < ::Form::Question @copy_key = "lettings.property_information.address_search" @plain_label = true @bottom_guidance_partial = "address_search" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @hide_question_number_on_page = true end @@ -38,5 +38,5 @@ class Form::Lettings::Questions::AddressSearch < ::Form::Question answer_options(log, user).transform_values { |value| value["value"] } || {} end - QUESTION_NUMBER_FROM_YEAR = { 2024 => 12, 2025 => 16 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2024 => 12, 2025 => 16, 2026 => 16 }.freeze end diff --git a/app/models/form/lettings/questions/age.rb b/app/models/form/lettings/questions/age.rb index f35abe61e..61e70fe05 100644 --- a/app/models/form/lettings/questions/age.rb +++ b/app/models/form/lettings/questions/age.rb @@ -19,11 +19,17 @@ class Form::Lettings::Questions::Age < ::Form::Question base_question_number = case form.start_date.year when 2023 31 - else + when 2024 + 30 + when 2025 30 + when 2026 + 27 + else + 27 end - base_question_number + (4 * @person_index) + base_question_number + (form.person_question_count * @person_index) end def hint_text diff --git a/app/models/form/lettings/questions/age1.rb b/app/models/form/lettings/questions/age1.rb index 72d89096c..428fabd42 100644 --- a/app/models/form/lettings/questions/age1.rb +++ b/app/models/form/lettings/questions/age1.rb @@ -10,8 +10,8 @@ class Form::Lettings::Questions::Age1 < ::Form::Question @max = 120 @min = 16 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 31 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 31, 2025 => 31, 2026 => 30 }.freeze end diff --git a/app/models/form/lettings/questions/age1_known.rb b/app/models/form/lettings/questions/age1_known.rb index e54d7993b..753fdd2cb 100644 --- a/app/models/form/lettings/questions/age1_known.rb +++ b/app/models/form/lettings/questions/age1_known.rb @@ -8,10 +8,10 @@ class Form::Lettings::Questions::Age1Known < ::Form::Question @answer_options = ANSWER_OPTIONS @conditional_for = { "age1" => [0] } @hidden_in_check_answers = { "depends_on" => [{ "age1_known" => 0 }, { "age1_known" => 1 }] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 31 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 32, 2024 => 31, 2025 => 31, 2026 => 30 }.freeze end diff --git a/app/models/form/lettings/questions/age_known.rb b/app/models/form/lettings/questions/age_known.rb index 2f5d7ce0b..c4bb65c2e 100644 --- a/app/models/form/lettings/questions/age_known.rb +++ b/app/models/form/lettings/questions/age_known.rb @@ -23,10 +23,16 @@ class Form::Lettings::Questions::AgeKnown < ::Form::Question base_question_number = case form.start_date.year when 2023 31 - else + when 2024 + 30 + when 2025 30 + when 2026 + 27 + else + 27 end - base_question_number + (4 * @person_index) + base_question_number + (form.person_question_count * @person_index) end end diff --git a/app/models/form/lettings/questions/armedforces.rb b/app/models/form/lettings/questions/armedforces.rb index 9bfe4b643..32aac69ca 100644 --- a/app/models/form/lettings/questions/armedforces.rb +++ b/app/models/form/lettings/questions/armedforces.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Armedforces < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -18,5 +18,5 @@ class Form::Lettings::Questions::Armedforces < ::Form::Question "6" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 66, 2024 => 65 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 66, 2024 => 65, 2025 => 65, 2026 => 72 }.freeze end diff --git a/app/models/form/lettings/questions/beds.rb b/app/models/form/lettings/questions/beds.rb index 1bafa3ddf..1e59c367c 100644 --- a/app/models/form/lettings/questions/beds.rb +++ b/app/models/form/lettings/questions/beds.rb @@ -7,12 +7,12 @@ class Form::Lettings::Questions::Beds < ::Form::Question @max = 12 @min = 1 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def derived?(log) log.is_bedsit? end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 22 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 22, 2024 => 22, 2025 => 22, 2026 => 21 }.freeze end diff --git a/app/models/form/lettings/questions/benefits.rb b/app/models/form/lettings/questions/benefits.rb index f5f2a3ee1..4ab922215 100644 --- a/app/models/form/lettings/questions/benefits.rb +++ b/app/models/form/lettings/questions/benefits.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Benefits < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -16,5 +16,5 @@ class Form::Lettings::Questions::Benefits < ::Form::Question "4" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 90, 2024 => 89 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 90, 2024 => 89, 2025 => 89, 2026 => 97 }.freeze end diff --git a/app/models/form/lettings/questions/brent_4_weekly.rb b/app/models/form/lettings/questions/brent_4_weekly.rb index 7087571fd..319b495a5 100644 --- a/app/models/form/lettings/questions/brent_4_weekly.rb +++ b/app/models/form/lettings/questions/brent_4_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::Brent4Weekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 4 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92, 2026 => 100 }.freeze end diff --git a/app/models/form/lettings/questions/brent_bi_weekly.rb b/app/models/form/lettings/questions/brent_bi_weekly.rb index 1a20fd61c..d33863756 100644 --- a/app/models/form/lettings/questions/brent_bi_weekly.rb +++ b/app/models/form/lettings/questions/brent_bi_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::BrentBiWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 2 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92, 2026 => 100 }.freeze end diff --git a/app/models/form/lettings/questions/brent_monthly.rb b/app/models/form/lettings/questions/brent_monthly.rb index 245bde158..8e71bb8ec 100644 --- a/app/models/form/lettings/questions/brent_monthly.rb +++ b/app/models/form/lettings/questions/brent_monthly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::BrentMonthly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every month" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92, 2026 => 100 }.freeze end diff --git a/app/models/form/lettings/questions/brent_weekly.rb b/app/models/form/lettings/questions/brent_weekly.rb index c913816fc..706f94b3d 100644 --- a/app/models/form/lettings/questions/brent_weekly.rb +++ b/app/models/form/lettings/questions/brent_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::BrentWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every week" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 95, 2024 => 94, 2025 => 92, 2026 => 100 }.freeze end diff --git a/app/models/form/lettings/questions/builtype.rb b/app/models/form/lettings/questions/builtype.rb index 8c34beca1..55f76536c 100644 --- a/app/models/form/lettings/questions/builtype.rb +++ b/app/models/form/lettings/questions/builtype.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::Builtype < ::Form::Question @id = "builtype" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -12,5 +12,5 @@ class Form::Lettings::Questions::Builtype < ::Form::Question "1" => { "value" => "Purpose built" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 20 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 20, 2024 => 20, 2025 => 20 }.freeze end diff --git a/app/models/form/lettings/questions/chcharge_4_weekly.rb b/app/models/form/lettings/questions/chcharge_4_weekly.rb index 341010eb0..403ab3e75 100644 --- a/app/models/form/lettings/questions/chcharge_4_weekly.rb +++ b/app/models/form/lettings/questions/chcharge_4_weekly.rb @@ -9,9 +9,9 @@ class Form::Lettings::Questions::Chcharge4Weekly < ::Form::Question @step = 0.01 @prefix = "£" @suffix = " every 4 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/chcharge_bi_weekly.rb b/app/models/form/lettings/questions/chcharge_bi_weekly.rb index 0343839ca..274b26d0d 100644 --- a/app/models/form/lettings/questions/chcharge_bi_weekly.rb +++ b/app/models/form/lettings/questions/chcharge_bi_weekly.rb @@ -9,9 +9,9 @@ class Form::Lettings::Questions::ChchargeBiWeekly < ::Form::Question @step = 0.01 @prefix = "£" @suffix = " every 2 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/chcharge_monthly.rb b/app/models/form/lettings/questions/chcharge_monthly.rb index 9e68eb18f..967295d45 100644 --- a/app/models/form/lettings/questions/chcharge_monthly.rb +++ b/app/models/form/lettings/questions/chcharge_monthly.rb @@ -9,9 +9,9 @@ class Form::Lettings::Questions::ChchargeMonthly < ::Form::Question @step = 0.01 @prefix = "£" @suffix = " every month" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/chcharge_weekly.rb b/app/models/form/lettings/questions/chcharge_weekly.rb index 3c8b995eb..d27d586b4 100644 --- a/app/models/form/lettings/questions/chcharge_weekly.rb +++ b/app/models/form/lettings/questions/chcharge_weekly.rb @@ -9,9 +9,9 @@ class Form::Lettings::Questions::ChchargeWeekly < ::Form::Question @step = 0.01 @prefix = "£" @suffix = " every week" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 94, 2024 => 93, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/condition_effects.rb b/app/models/form/lettings/questions/condition_effects.rb index 1821f6e98..af967d17e 100644 --- a/app/models/form/lettings/questions/condition_effects.rb +++ b/app/models/form/lettings/questions/condition_effects.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::ConditionEffects < ::Form::Question @type = "checkbox" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -27,5 +27,5 @@ class Form::Lettings::Questions::ConditionEffects < ::Form::Question "illness_type_10" => { "value" => "Other" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 74, 2024 => 73 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 74, 2024 => 73, 2025 => 73, 2026 => 80 }.freeze end diff --git a/app/models/form/lettings/questions/county.rb b/app/models/form/lettings/questions/county.rb index 12585fa8e..b634fd6dc 100644 --- a/app/models/form/lettings/questions/county.rb +++ b/app/models/form/lettings/questions/county.rb @@ -6,9 +6,9 @@ class Form::Lettings::Questions::County < ::Form::Question @type = "text" @plain_label = true @disable_clearing_if_not_routed_or_dynamic_answer_options = true - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @hide_question_number_on_page = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17, 2026 => 17 }.freeze end diff --git a/app/models/form/lettings/questions/declaration.rb b/app/models/form/lettings/questions/declaration.rb index 3261452cd..6a2572487 100644 --- a/app/models/form/lettings/questions/declaration.rb +++ b/app/models/form/lettings/questions/declaration.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Declaration < ::Form::Question @type = "checkbox" @check_answers_card_number = 0 unless form.start_year_2024_or_later? @top_guidance_partial = "privacy_notice_tenant" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -26,5 +26,5 @@ class Form::Lettings::Questions::Declaration < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 30, 2024 => 11 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 30, 2024 => 11, 2025 => 11, 2026 => 11 }.freeze end diff --git a/app/models/form/lettings/questions/earnings.rb b/app/models/form/lettings/questions/earnings.rb index 4d3437052..13482135e 100644 --- a/app/models/form/lettings/questions/earnings.rb +++ b/app/models/form/lettings/questions/earnings.rb @@ -15,9 +15,9 @@ class Form::Lettings::Questions::Earnings < ::Form::Question { "label" => " every month", "depends_on" => { "incfreq" => 2 } }, { "label" => " every year", "depends_on" => { "incfreq" => 3 } }, ] - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 88, 2024 => 87 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 88, 2024 => 87, 2025 => 87, 2026 => 95 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_arab.rb b/app/models/form/lettings/questions/ethnic_arab.rb index d642c1a1b..582d92704 100644 --- a/app/models/form/lettings/questions/ethnic_arab.rb +++ b/app/models/form/lettings/questions/ethnic_arab.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::EthnicArab < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -18,5 +18,5 @@ class Form::Lettings::Questions::EthnicArab < ::Form::Question }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34, 2025 => 34, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_asian.rb b/app/models/form/lettings/questions/ethnic_asian.rb index 7fb309bba..f488249a6 100644 --- a/app/models/form/lettings/questions/ethnic_asian.rb +++ b/app/models/form/lettings/questions/ethnic_asian.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::EthnicAsian < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -27,5 +27,5 @@ class Form::Lettings::Questions::EthnicAsian < ::Form::Question }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34, 2025 => 34, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_black.rb b/app/models/form/lettings/questions/ethnic_black.rb index e3a88259e..f6902eb35 100644 --- a/app/models/form/lettings/questions/ethnic_black.rb +++ b/app/models/form/lettings/questions/ethnic_black.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::EthnicBlack < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -21,5 +21,5 @@ class Form::Lettings::Questions::EthnicBlack < ::Form::Question }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34, 2025 => 34, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_group.rb b/app/models/form/lettings/questions/ethnic_group.rb index 16bdfc4ba..c1c0be096 100644 --- a/app/models/form/lettings/questions/ethnic_group.rb +++ b/app/models/form/lettings/questions/ethnic_group.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::EthnicGroup < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -18,5 +18,5 @@ class Form::Lettings::Questions::EthnicGroup < ::Form::Question "17" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 34, 2024 => 33 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 34, 2024 => 33, 2025 => 33, 2026 => 33 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_mixed.rb b/app/models/form/lettings/questions/ethnic_mixed.rb index 14d1f213b..f12f997b6 100644 --- a/app/models/form/lettings/questions/ethnic_mixed.rb +++ b/app/models/form/lettings/questions/ethnic_mixed.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::EthnicMixed < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -24,5 +24,5 @@ class Form::Lettings::Questions::EthnicMixed < ::Form::Question }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34, 2025 => 34, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/ethnic_white.rb b/app/models/form/lettings/questions/ethnic_white.rb index 74430d840..98ebe78f3 100644 --- a/app/models/form/lettings/questions/ethnic_white.rb +++ b/app/models/form/lettings/questions/ethnic_white.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::EthnicWhite < ::Form::Question @copy_key = "lettings.household_characteristics.ethnic.ethnic_background_white" @type = "radio" @check_answers_card_number = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -27,5 +27,5 @@ class Form::Lettings::Questions::EthnicWhite < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 35, 2024 => 34, 2025 => 34, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb b/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb index 09e6ece30..c9fb77abf 100644 --- a/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb +++ b/app/models/form/lettings/questions/first_time_property_let_as_social_housing.rb @@ -3,7 +3,7 @@ class Form::Lettings::Questions::FirstTimePropertyLetAsSocialHousing < ::Form::Q super @id = "first_time_property_let_as_social_housing" @type = "radio" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -21,5 +21,5 @@ class Form::Lettings::Questions::FirstTimePropertyLetAsSocialHousing < ::Form::Q form.start_year_2024_or_later? ? "This is a re-let of existing social housing stock." : "This is a re-let of existing social housing." end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 14, 2024 => 15, 2025 => 12 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 14, 2024 => 15, 2025 => 12, 2026 => 12 }.freeze end diff --git a/app/models/form/lettings/questions/gender_identity1.rb b/app/models/form/lettings/questions/gender_identity1.rb index 411bcd3d0..f3d86fde0 100644 --- a/app/models/form/lettings/questions/gender_identity1.rb +++ b/app/models/form/lettings/questions/gender_identity1.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::GenderIdentity1 < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -16,5 +16,5 @@ class Form::Lettings::Questions::GenderIdentity1 < ::Form::Question "R" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 33, 2024 => 32 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 33, 2024 => 32, 2025 => 32 }.freeze end diff --git a/app/models/form/lettings/questions/hb.rb b/app/models/form/lettings/questions/hb.rb index 51da058b8..f9204e65a 100644 --- a/app/models/form/lettings/questions/hb.rb +++ b/app/models/form/lettings/questions/hb.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Hb < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -17,5 +17,5 @@ class Form::Lettings::Questions::Hb < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 89, 2024 => 88 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 89, 2024 => 88, 2025 => 88, 2026 => 96 }.freeze end diff --git a/app/models/form/lettings/questions/hbrentshortfall.rb b/app/models/form/lettings/questions/hbrentshortfall.rb index 294423815..dfc323c3a 100644 --- a/app/models/form/lettings/questions/hbrentshortfall.rb +++ b/app/models/form/lettings/questions/hbrentshortfall.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Hbrentshortfall < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Hbrentshortfall < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 99, 2024 => 98, 2025 => 96 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 99, 2024 => 98, 2025 => 96, 2026 => 104 }.freeze end diff --git a/app/models/form/lettings/questions/hhmemb.rb b/app/models/form/lettings/questions/hhmemb.rb index 88328a869..614b2b27e 100644 --- a/app/models/form/lettings/questions/hhmemb.rb +++ b/app/models/form/lettings/questions/hhmemb.rb @@ -8,9 +8,9 @@ class Form::Lettings::Questions::Hhmemb < ::Form::Question @max = 8 @min = 1 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @check_answers_card_title = "Household" if form.start_year_2026_or_later? end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 31, 2024 => 30 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 31, 2024 => 30, 2025 => 30, 2026 => 29 }.freeze end diff --git a/app/models/form/lettings/questions/homeless.rb b/app/models/form/lettings/questions/homeless.rb index 1194fa929..44e03f937 100644 --- a/app/models/form/lettings/questions/homeless.rb +++ b/app/models/form/lettings/questions/homeless.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Homeless < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -13,5 +13,5 @@ class Form::Lettings::Questions::Homeless < ::Form::Question "1" => { "value" => "No" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 79, 2024 => 78 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 79, 2024 => 78, 2025 => 78, 2026 => 85 }.freeze end diff --git a/app/models/form/lettings/questions/household_charge.rb b/app/models/form/lettings/questions/household_charge.rb index 60fee977d..32bdee4a6 100644 --- a/app/models/form/lettings/questions/household_charge.rb +++ b/app/models/form/lettings/questions/household_charge.rb @@ -5,10 +5,10 @@ class Form::Lettings::Questions::HouseholdCharge < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 91, 2024 => 90 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 91, 2024 => 90, 2025 => 90, 2026 => 98 }.freeze end diff --git a/app/models/form/lettings/questions/housingneeds.rb b/app/models/form/lettings/questions/housingneeds.rb index 03c80d5cb..29f0b5882 100644 --- a/app/models/form/lettings/questions/housingneeds.rb +++ b/app/models/form/lettings/questions/housingneeds.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Housingneeds < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Housingneeds < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 70, 2024 => 69 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 70, 2024 => 69, 2025 => 69, 2026 => 76 }.freeze end diff --git a/app/models/form/lettings/questions/housingneeds_other.rb b/app/models/form/lettings/questions/housingneeds_other.rb index d99812535..d8915e936 100644 --- a/app/models/form/lettings/questions/housingneeds_other.rb +++ b/app/models/form/lettings/questions/housingneeds_other.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::HousingneedsOther < ::Form::Question @copy_key = "lettings.household_needs.housingneeds_type.housingneeds_other" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -24,5 +24,5 @@ class Form::Lettings::Questions::HousingneedsOther < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 72, 2024 => 71 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 72, 2024 => 71, 2025 => 71, 2026 => 78 }.freeze end diff --git a/app/models/form/lettings/questions/housingneeds_type.rb b/app/models/form/lettings/questions/housingneeds_type.rb index 50b9c3742..15b5782d5 100644 --- a/app/models/form/lettings/questions/housingneeds_type.rb +++ b/app/models/form/lettings/questions/housingneeds_type.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::HousingneedsType < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -17,5 +17,5 @@ class Form::Lettings::Questions::HousingneedsType < ::Form::Question "3" => { "value" => "None of the listed options" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 71, 2024 => 70 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 71, 2024 => 70, 2025 => 70, 2026 => 77 }.freeze end diff --git a/app/models/form/lettings/questions/illness.rb b/app/models/form/lettings/questions/illness.rb index f92a7a04a..4bc3667fb 100644 --- a/app/models/form/lettings/questions/illness.rb +++ b/app/models/form/lettings/questions/illness.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Illness < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Illness < ::Form::Question "3" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 73, 2024 => 72 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 73, 2024 => 72, 2025 => 72, 2026 => 79 }.freeze end diff --git a/app/models/form/lettings/questions/incfreq.rb b/app/models/form/lettings/questions/incfreq.rb index d4384218e..74e24f439 100644 --- a/app/models/form/lettings/questions/incfreq.rb +++ b/app/models/form/lettings/questions/incfreq.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::Incfreq < ::Form::Question @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @hidden_in_check_answers = true - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -16,5 +16,5 @@ class Form::Lettings::Questions::Incfreq < ::Form::Question "3" => { "value" => "Yearly" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 87, 2024 => 86 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 87, 2024 => 86, 2025 => 86, 2026 => 94 }.freeze end diff --git a/app/models/form/lettings/questions/irproduct_other.rb b/app/models/form/lettings/questions/irproduct_other.rb index b004d5dc2..993fcbf54 100644 --- a/app/models/form/lettings/questions/irproduct_other.rb +++ b/app/models/form/lettings/questions/irproduct_other.rb @@ -4,8 +4,8 @@ class Form::Lettings::Questions::IrproductOther < ::Form::Question @id = "irproduct_other" @copy_key = "lettings.setup.rent_type.irproduct_other" @type = "text" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 6, 2024 => 8 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 6, 2024 => 8, 2025 => 8, 2026 => 8 }.freeze end diff --git a/app/models/form/lettings/questions/is_carehome.rb b/app/models/form/lettings/questions/is_carehome.rb index 25dae3fc6..ea2df6eac 100644 --- a/app/models/form/lettings/questions/is_carehome.rb +++ b/app/models/form/lettings/questions/is_carehome.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::IsCarehome < ::Form::Question @type = "radio" @check_answers_card_number = 0 @conditional_for = { "chcharge" => [1] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -23,5 +23,5 @@ class Form::Lettings::Questions::IsCarehome < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 93, 2024 => 92 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 93, 2024 => 92, 2025 => 92, 2026 => 100 }.freeze end diff --git a/app/models/form/lettings/questions/joint.rb b/app/models/form/lettings/questions/joint.rb index 2542cd1c7..11f6749a6 100644 --- a/app/models/form/lettings/questions/joint.rb +++ b/app/models/form/lettings/questions/joint.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Joint < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Joint < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 25, 2024 => 25, 2025 => 26 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 25, 2024 => 25, 2025 => 26, 2026 => 25 }.freeze end diff --git a/app/models/form/lettings/questions/la.rb b/app/models/form/lettings/questions/la.rb index c6d6f8240..d4d6954d2 100644 --- a/app/models/form/lettings/questions/la.rb +++ b/app/models/form/lettings/questions/la.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::La < ::Form::Question @type = "select" @check_answers_card_number = nil @hint_text = "" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @disable_clearing_if_not_routed_or_dynamic_answer_options = true end @@ -13,5 +13,5 @@ class Form::Lettings::Questions::La < ::Form::Question { "" => "Select an option" }.merge(LocalAuthority.active(form.start_date).england.map { |la| [la.code, la.name] }.to_h) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 13, 2024 => 14, 2025 => 18 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 13, 2024 => 14, 2025 => 18, 2026 => 18 }.freeze end diff --git a/app/models/form/lettings/questions/layear.rb b/app/models/form/lettings/questions/layear.rb index fdaad6c22..d8fa0a3a8 100644 --- a/app/models/form/lettings/questions/layear.rb +++ b/app/models/form/lettings/questions/layear.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::Layear < ::Form::Question @id = "layear" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -36,5 +36,5 @@ class Form::Lettings::Questions::Layear < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 75, 2024 => 74 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 75, 2024 => 74, 2025 => 74, 2026 => 81 }.freeze end diff --git a/app/models/form/lettings/questions/leftreg.rb b/app/models/form/lettings/questions/leftreg.rb index 9b90566cf..3e81b52c0 100644 --- a/app/models/form/lettings/questions/leftreg.rb +++ b/app/models/form/lettings/questions/leftreg.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Leftreg < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -16,5 +16,5 @@ class Form::Lettings::Questions::Leftreg < ::Form::Question "3" => { "value" => "Person prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 67, 2024 => 66 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 67, 2024 => 66, 2025 => 66, 2026 => 73 }.freeze end diff --git a/app/models/form/lettings/questions/letting_allocation.rb b/app/models/form/lettings/questions/letting_allocation.rb index 08310da13..2029335c4 100644 --- a/app/models/form/lettings/questions/letting_allocation.rb +++ b/app/models/form/lettings/questions/letting_allocation.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::LettingAllocation < ::Form::Question @id = "letting_allocation" @type = "checkbox" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -28,5 +28,5 @@ class Form::Lettings::Questions::LettingAllocation < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 84, 2024 => 83 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 84, 2024 => 83, 2025 => 83, 2026 => 90 }.freeze end diff --git a/app/models/form/lettings/questions/location_id.rb b/app/models/form/lettings/questions/location_id.rb index 5bc316476..80e34aac0 100644 --- a/app/models/form/lettings/questions/location_id.rb +++ b/app/models/form/lettings/questions/location_id.rb @@ -10,7 +10,7 @@ class Form::Lettings::Questions::LocationId < ::Form::Question "needstype": 2, }, } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? @disable_clearing_if_not_routed_or_dynamic_answer_options = true @top_guidance_partial = "finding_location" end @@ -55,5 +55,5 @@ private false end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 10, 2024 => 5 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 10, 2024 => 5, 2025 => 5, 2026 => 5 }.freeze end diff --git a/app/models/form/lettings/questions/location_id_search.rb b/app/models/form/lettings/questions/location_id_search.rb index 5e1734b51..e64125fda 100644 --- a/app/models/form/lettings/questions/location_id_search.rb +++ b/app/models/form/lettings/questions/location_id_search.rb @@ -10,7 +10,7 @@ class Form::Lettings::Questions::LocationIdSearch < ::Form::Question "needstype": 2, }, } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? @disable_clearing_if_not_routed_or_dynamic_answer_options = true @top_guidance_partial = "finding_location" end @@ -50,5 +50,5 @@ private false end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 10, 2024 => 5 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 10, 2024 => 5, 2025 => 5, 2026 => 5 }.freeze end diff --git a/app/models/form/lettings/questions/majorrepairs.rb b/app/models/form/lettings/questions/majorrepairs.rb index a0c8a3a5c..b9b740cb1 100644 --- a/app/models/form/lettings/questions/majorrepairs.rb +++ b/app/models/form/lettings/questions/majorrepairs.rb @@ -6,10 +6,10 @@ class Form::Lettings::Questions::Majorrepairs < ::Form::Question @type = "radio" @answer_options = ANSWER_OPTIONS @conditional_for = { "mrcdate" => [1] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { "1" => { "value" => "Yes" }, "0" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 24 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 24, 2024 => 24, 2025 => 24, 2026 => 23 }.freeze end diff --git a/app/models/form/lettings/questions/managing_organisation.rb b/app/models/form/lettings/questions/managing_organisation.rb index 9c766ebe0..bf1b23c54 100644 --- a/app/models/form/lettings/questions/managing_organisation.rb +++ b/app/models/form/lettings/questions/managing_organisation.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::ManagingOrganisation < ::Form::Question @id = "managing_organisation_id" @derived = true @type = "select" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end def answer_options(log = nil, user = nil) @@ -83,5 +83,5 @@ private true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 2 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 2, 2024 => 2, 2025 => 2, 2026 => 2 }.freeze end diff --git a/app/models/form/lettings/questions/mrcdate.rb b/app/models/form/lettings/questions/mrcdate.rb index 0c311d186..33c511887 100644 --- a/app/models/form/lettings/questions/mrcdate.rb +++ b/app/models/form/lettings/questions/mrcdate.rb @@ -4,8 +4,8 @@ class Form::Lettings::Questions::Mrcdate < ::Form::Question @id = "mrcdate" @copy_key = "lettings.property_information.property_major_repairs.mrcdate" @type = "date" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 24 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 24, 2024 => 24, 2025 => 24, 2026 => 23 }.freeze end diff --git a/app/models/form/lettings/questions/nationality.rb b/app/models/form/lettings/questions/nationality.rb index 8c4a700c1..a966f68f7 100644 --- a/app/models/form/lettings/questions/nationality.rb +++ b/app/models/form/lettings/questions/nationality.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Nationality < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -19,5 +19,5 @@ class Form::Lettings::Questions::Nationality < ::Form::Question "13" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35, 2025 => 35, 2026 => 34 }.freeze end diff --git a/app/models/form/lettings/questions/nationality_all.rb b/app/models/form/lettings/questions/nationality_all.rb index a4bb750a1..368c0ffb5 100644 --- a/app/models/form/lettings/questions/nationality_all.rb +++ b/app/models/form/lettings/questions/nationality_all.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::NationalityAll < ::Form::Question @type = "select" @check_answers_card_number = 1 @answer_options = GlobalConstants::COUNTRIES_ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_label(log, _current_user = nil) @@ -17,7 +17,7 @@ class Form::Lettings::Questions::NationalityAll < ::Form::Question @answer_options.reject { |key, _| key == "826" } end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35, 2025 => 35, 2026 => 35 }.freeze def label_from_value(value) return unless value diff --git a/app/models/form/lettings/questions/nationality_all_group.rb b/app/models/form/lettings/questions/nationality_all_group.rb index 559b1c9a0..0c4ed5d90 100644 --- a/app/models/form/lettings/questions/nationality_all_group.rb +++ b/app/models/form/lettings/questions/nationality_all_group.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::NationalityAllGroup < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @conditional_for = { "nationality_all" => [12] } @hidden_in_check_answers = { "depends_on" => [{ "nationality_all_group" => 12 }] } end @@ -17,5 +17,5 @@ class Form::Lettings::Questions::NationalityAllGroup < ::Form::Question "0" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 36, 2024 => 35, 2025 => 35, 2026 => 35 }.freeze end diff --git a/app/models/form/lettings/questions/needs_type.rb b/app/models/form/lettings/questions/needs_type.rb index 9c32e30f9..87f331c07 100644 --- a/app/models/form/lettings/questions/needs_type.rb +++ b/app/models/form/lettings/questions/needs_type.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::NeedsType < ::Form::Question @id = "needstype" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? @top_guidance_partial = "needs_type" if form.start_year_2026_or_later? end @@ -13,5 +13,5 @@ class Form::Lettings::Questions::NeedsType < ::Form::Question "2" => { "value" => "Supported housing" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 3 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 3, 2024 => 3, 2025 => 3, 2026 => 3 }.freeze end diff --git a/app/models/form/lettings/questions/net_income_known.rb b/app/models/form/lettings/questions/net_income_known.rb index 01c3bcaa3..4bcbe7fd1 100644 --- a/app/models/form/lettings/questions/net_income_known.rb +++ b/app/models/form/lettings/questions/net_income_known.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::NetIncomeKnown < ::Form::Question @check_answers_card_number = 0 @top_guidance_partial = "what_counts_as_income" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -16,5 +16,5 @@ class Form::Lettings::Questions::NetIncomeKnown < ::Form::Question "2" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 86, 2024 => 85 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 86, 2024 => 85, 2025 => 85, 2026 => 93 }.freeze end diff --git a/app/models/form/lettings/questions/offered.rb b/app/models/form/lettings/questions/offered.rb index c1aae8d32..38eccb40d 100644 --- a/app/models/form/lettings/questions/offered.rb +++ b/app/models/form/lettings/questions/offered.rb @@ -8,8 +8,8 @@ class Form::Lettings::Questions::Offered < ::Form::Question @max = 150 @min = 0 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 18 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 18, 2024 => 18, 2025 => 18, 2026 => 18 }.freeze end diff --git a/app/models/form/lettings/questions/period.rb b/app/models/form/lettings/questions/period.rb index 6f98bd2a8..a0fb51d9f 100644 --- a/app/models/form/lettings/questions/period.rb +++ b/app/models/form/lettings/questions/period.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Period < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -22,7 +22,7 @@ class Form::Lettings::Questions::Period < ::Form::Question "10" => { "value" => "Weekly for 53 weeks" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 92, 2024 => 91 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 92, 2024 => 91, 2025 => 91, 2026 => 99 }.freeze def displayed_answer_options(log, _user) return ANSWER_OPTIONS if log.managing_organisation.nil? diff --git a/app/models/form/lettings/questions/person_partner.rb b/app/models/form/lettings/questions/person_partner.rb index 98a22a448..c7b673131 100644 --- a/app/models/form/lettings/questions/person_partner.rb +++ b/app/models/form/lettings/questions/person_partner.rb @@ -21,11 +21,17 @@ class Form::Lettings::Questions::PersonPartner < ::Form::Question base_question_number = case form.start_date.year when 2023 30 - else + when 2024 + 29 + when 2025 29 + when 2026 + 28 + else + 28 end - base_question_number + (4 * @person_index) + base_question_number + (form.person_question_count * @person_index) end def derived?(log) diff --git a/app/models/form/lettings/questions/person_sex_registered_at_birth.rb b/app/models/form/lettings/questions/person_sex_registered_at_birth.rb index e5c54058f..819cc2df1 100644 --- a/app/models/form/lettings/questions/person_sex_registered_at_birth.rb +++ b/app/models/form/lettings/questions/person_sex_registered_at_birth.rb @@ -18,7 +18,7 @@ class Form::Lettings::Questions::PersonSexRegisteredAtBirth < ::Form::Question def question_number base_question_number = 29 - base_question_number + (5 * @person_index) + base_question_number + (form.person_question_count * @person_index) end def label_from_value(value, _log = nil, _user = nil) diff --git a/app/models/form/lettings/questions/person_working_situation.rb b/app/models/form/lettings/questions/person_working_situation.rb index 74e11d030..0089416fb 100644 --- a/app/models/form/lettings/questions/person_working_situation.rb +++ b/app/models/form/lettings/questions/person_working_situation.rb @@ -57,10 +57,16 @@ class Form::Lettings::Questions::PersonWorkingSituation < ::Form::Question base_question_number = case form.start_date.year when 2023 33 - else + when 2024 + 32 + when 2025 32 + when 2026 + 31 + else + 31 end - base_question_number + (4 * @person_index) + base_question_number + (form.person_question_count * @person_index) end end diff --git a/app/models/form/lettings/questions/postcode_for_full_address.rb b/app/models/form/lettings/questions/postcode_for_full_address.rb index 114cf0db5..84c93f7d7 100644 --- a/app/models/form/lettings/questions/postcode_for_full_address.rb +++ b/app/models/form/lettings/questions/postcode_for_full_address.rb @@ -18,10 +18,10 @@ class Form::Lettings::Questions::PostcodeForFullAddress < ::Form::Question } @plain_label = true @disable_clearing_if_not_routed_or_dynamic_answer_options = true - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @hide_question_number_on_page = true @bottom_guidance_partial = "address_fallback" end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17, 2026 => 17 }.freeze end diff --git a/app/models/form/lettings/questions/ppcodenk.rb b/app/models/form/lettings/questions/ppcodenk.rb index 5eec607eb..7cf7c63c2 100644 --- a/app/models/form/lettings/questions/ppcodenk.rb +++ b/app/models/form/lettings/questions/ppcodenk.rb @@ -8,7 +8,7 @@ class Form::Lettings::Questions::Ppcodenk < ::Form::Question @answer_options = ANSWER_OPTIONS @conditional_for = { "ppostcode_full" => [0] } @hidden_in_check_answers = { "depends_on" => [{ "ppcodenk" => 0 }, { "ppcodenk" => 1 }] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @disable_clearing_if_not_routed_or_dynamic_answer_options = true end @@ -17,5 +17,5 @@ class Form::Lettings::Questions::Ppcodenk < ::Form::Question "1" => { "value" => "No" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 80, 2024 => 79 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 80, 2024 => 79, 2025 => 79, 2026 => 86 }.freeze end diff --git a/app/models/form/lettings/questions/ppostcode_full.rb b/app/models/form/lettings/questions/ppostcode_full.rb index 804576ca1..41feded8f 100644 --- a/app/models/form/lettings/questions/ppostcode_full.rb +++ b/app/models/form/lettings/questions/ppostcode_full.rb @@ -13,9 +13,9 @@ class Form::Lettings::Questions::PpostcodeFull < ::Form::Question }] @check_answers_card_number = 0 @inferred_answers = { "prevloc" => { "is_previous_la_inferred" => true } } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @disable_clearing_if_not_routed_or_dynamic_answer_options = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 80, 2024 => 79 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 80, 2024 => 79, 2025 => 79, 2026 => 86 }.freeze end diff --git a/app/models/form/lettings/questions/preg_occ.rb b/app/models/form/lettings/questions/preg_occ.rb index 1ad1bd1f5..03bae1c04 100644 --- a/app/models/form/lettings/questions/preg_occ.rb +++ b/app/models/form/lettings/questions/preg_occ.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::PregOcc < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::PregOcc < ::Form::Question "3" => { "value" => "Tenant prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 69, 2024 => 68 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 69, 2024 => 68, 2025 => 68, 2026 => 75 }.freeze end diff --git a/app/models/form/lettings/questions/previous_la_known.rb b/app/models/form/lettings/questions/previous_la_known.rb index 2145e9d1f..b8721ff46 100644 --- a/app/models/form/lettings/questions/previous_la_known.rb +++ b/app/models/form/lettings/questions/previous_la_known.rb @@ -8,11 +8,11 @@ class Form::Lettings::Questions::PreviousLaKnown < ::Form::Question @answer_options = ANSWER_OPTIONS @conditional_for = { "prevloc" => [1] } @hidden_in_check_answers = { "depends_on" => [{ "previous_la_known" => 0 }, { "previous_la_known" => 1 }] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @disable_clearing_if_not_routed_or_dynamic_answer_options = true end ANSWER_OPTIONS = { "1" => { "value" => "Yes" }, "0" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 81, 2024 => 80 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 81, 2024 => 80, 2025 => 80, 2026 => 87 }.freeze end diff --git a/app/models/form/lettings/questions/previous_let_type.rb b/app/models/form/lettings/questions/previous_let_type.rb index 8c35df84c..660e42869 100644 --- a/app/models/form/lettings/questions/previous_let_type.rb +++ b/app/models/form/lettings/questions/previous_let_type.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::PreviousLetType < ::Form::Question @id = "unitletas" @type = "radio" @answer_options = answer_options - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -41,7 +41,7 @@ class Form::Lettings::Questions::PreviousLetType < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 16, 2024 => 17, 2025 => 14 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 16, 2024 => 17, 2025 => 14, 2026 => 14 }.freeze def answer_options return ANSWER_OPTIONS_AFTER_2025 if form.start_year_2025_or_later? diff --git a/app/models/form/lettings/questions/previous_tenure.rb b/app/models/form/lettings/questions/previous_tenure.rb index 47647b03c..65a3911b2 100644 --- a/app/models/form/lettings/questions/previous_tenure.rb +++ b/app/models/form/lettings/questions/previous_tenure.rb @@ -12,7 +12,7 @@ class Form::Lettings::Questions::PreviousTenure < ::Form::Question else ANSWER_OPTIONS end - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -103,5 +103,5 @@ class Form::Lettings::Questions::PreviousTenure < ::Form::Question "25" => { "value" => "Any other accommodation" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 78, 2024 => 77 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 78, 2024 => 77, 2025 => 77, 2026 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/previous_tenure_renewal.rb b/app/models/form/lettings/questions/previous_tenure_renewal.rb index e932fd218..20f0900bb 100644 --- a/app/models/form/lettings/questions/previous_tenure_renewal.rb +++ b/app/models/form/lettings/questions/previous_tenure_renewal.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::PreviousTenureRenewal < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = form.start_year_2025_or_later? ? ANSWER_OPTIONS_2025 : ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -22,5 +22,5 @@ class Form::Lettings::Questions::PreviousTenureRenewal < ::Form::Question "6" => { "value" => "Other supported housing" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 78, 2024 => 77 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 78, 2024 => 77, 2025 => 77, 2026 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/prevloc.rb b/app/models/form/lettings/questions/prevloc.rb index 4ad7dbf11..0bf445956 100644 --- a/app/models/form/lettings/questions/prevloc.rb +++ b/app/models/form/lettings/questions/prevloc.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::Prevloc < ::Form::Question @type = "select" @inferred_check_answers_value = [{ "condition" => { "previous_la_known" => 0 }, "value" => "Not known" }] @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @disable_clearing_if_not_routed_or_dynamic_answer_options = true end @@ -14,5 +14,5 @@ class Form::Lettings::Questions::Prevloc < ::Form::Question { "" => "Select an option" }.merge(LocalAuthority.active(form.start_date).map { |la| [la.code, la.name] }.to_h) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 81, 2024 => 80 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 81, 2024 => 80, 2025 => 80, 2026 => 87 }.freeze end diff --git a/app/models/form/lettings/questions/property_reference.rb b/app/models/form/lettings/questions/property_reference.rb index d4587ffe8..e81d4b6a2 100644 --- a/app/models/form/lettings/questions/property_reference.rb +++ b/app/models/form/lettings/questions/property_reference.rb @@ -4,8 +4,8 @@ class Form::Lettings::Questions::PropertyReference < ::Form::Question @id = "propcode" @type = "text" @width = 10 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 8, 2024 => 10 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 8, 2024 => 10, 2025 => 10, 2026 => 10 }.freeze end diff --git a/app/models/form/lettings/questions/pscharge_4_weekly.rb b/app/models/form/lettings/questions/pscharge_4_weekly.rb index 565be72c9..233e87854 100644 --- a/app/models/form/lettings/questions/pscharge_4_weekly.rb +++ b/app/models/form/lettings/questions/pscharge_4_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::Pscharge4Weekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 4 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94, 2026 => 102 }.freeze end diff --git a/app/models/form/lettings/questions/pscharge_bi_weekly.rb b/app/models/form/lettings/questions/pscharge_bi_weekly.rb index b8bb94f40..dcd1df89f 100644 --- a/app/models/form/lettings/questions/pscharge_bi_weekly.rb +++ b/app/models/form/lettings/questions/pscharge_bi_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::PschargeBiWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 2 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94, 2026 => 102 }.freeze end diff --git a/app/models/form/lettings/questions/pscharge_monthly.rb b/app/models/form/lettings/questions/pscharge_monthly.rb index ccbd2655b..b5c175ceb 100644 --- a/app/models/form/lettings/questions/pscharge_monthly.rb +++ b/app/models/form/lettings/questions/pscharge_monthly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::PschargeMonthly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every month" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94, 2026 => 102 }.freeze end diff --git a/app/models/form/lettings/questions/pscharge_weekly.rb b/app/models/form/lettings/questions/pscharge_weekly.rb index 9b0a0e320..4bf327c08 100644 --- a/app/models/form/lettings/questions/pscharge_weekly.rb +++ b/app/models/form/lettings/questions/pscharge_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::PschargeWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every week" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 97, 2024 => 96, 2025 => 94, 2026 => 102 }.freeze end diff --git a/app/models/form/lettings/questions/reason.rb b/app/models/form/lettings/questions/reason.rb index 7f0cd86a0..a40d9d134 100644 --- a/app/models/form/lettings/questions/reason.rb +++ b/app/models/form/lettings/questions/reason.rb @@ -10,7 +10,7 @@ class Form::Lettings::Questions::Reason < ::Form::Question 20, ], } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -132,5 +132,5 @@ class Form::Lettings::Questions::Reason < ::Form::Question }.freeze, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2024 => 76 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2024 => 76, 2025 => 76, 2026 => 83 }.freeze end diff --git a/app/models/form/lettings/questions/reason_renewal.rb b/app/models/form/lettings/questions/reason_renewal.rb index c00bd2581..d5fccca67 100644 --- a/app/models/form/lettings/questions/reason_renewal.rb +++ b/app/models/form/lettings/questions/reason_renewal.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::ReasonRenewal < ::Form::Question @type = "radio" @copy_key = "lettings.household_situation.reason.#{page.id}.reason" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @conditional_for = { "reasonother" => [ 20, @@ -37,5 +37,5 @@ class Form::Lettings::Questions::ReasonRenewal < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 77, 2024 => 76 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 77, 2024 => 76, 2025 => 76, 2026 => 83 }.freeze end diff --git a/app/models/form/lettings/questions/reasonable_preference_reason.rb b/app/models/form/lettings/questions/reasonable_preference_reason.rb index 75b450b91..485ad830f 100644 --- a/app/models/form/lettings/questions/reasonable_preference_reason.rb +++ b/app/models/form/lettings/questions/reasonable_preference_reason.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::ReasonablePreferenceReason < ::Form::Question @type = "checkbox" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -17,5 +17,5 @@ class Form::Lettings::Questions::ReasonablePreferenceReason < ::Form::Question "rp_dontknow" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 83, 2024 => 82 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 83, 2024 => 82, 2025 => 82, 2026 => 89 }.freeze end diff --git a/app/models/form/lettings/questions/reasonother.rb b/app/models/form/lettings/questions/reasonother.rb index 7e600916b..b92a7b8f4 100644 --- a/app/models/form/lettings/questions/reasonother.rb +++ b/app/models/form/lettings/questions/reasonother.rb @@ -5,8 +5,8 @@ class Form::Lettings::Questions::Reasonother < ::Form::Question @copy_key = "lettings.household_situation.reason.#{@page.id}.reasonother" @type = "text" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 77, 2024 => 76 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 77, 2024 => 76, 2025 => 76, 2026 => 83 }.freeze end diff --git a/app/models/form/lettings/questions/reasonpref.rb b/app/models/form/lettings/questions/reasonpref.rb index e63f65584..f54e98c15 100644 --- a/app/models/form/lettings/questions/reasonpref.rb +++ b/app/models/form/lettings/questions/reasonpref.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Reasonpref < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Reasonpref < ::Form::Question "3" => { "value" => "Don’t know" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 82, 2024 => 81 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 82, 2024 => 81, 2025 => 81, 2026 => 88 }.freeze end diff --git a/app/models/form/lettings/questions/referral_direct.rb b/app/models/form/lettings/questions/referral_direct.rb index d79065df7..5373f3f3f 100644 --- a/app/models/form/lettings/questions/referral_direct.rb +++ b/app/models/form/lettings/questions/referral_direct.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralDirect < ::Form::Question @copy_key = "lettings.household_situation.referral.direct" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/referral_general_needs.rb b/app/models/form/lettings/questions/referral_general_needs.rb index 6c9f159e4..f2b2167a3 100644 --- a/app/models/form/lettings/questions/referral_general_needs.rb +++ b/app/models/form/lettings/questions/referral_general_needs.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralGeneralNeeds < ::Form::Question @copy_key = "lettings.household_situation.referral.general_needs.la" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -93,5 +93,5 @@ class Form::Lettings::Questions::ReferralGeneralNeeds < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84, 2025 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/referral_general_needs_prp.rb b/app/models/form/lettings/questions/referral_general_needs_prp.rb index 492f32c8f..37d222961 100644 --- a/app/models/form/lettings/questions/referral_general_needs_prp.rb +++ b/app/models/form/lettings/questions/referral_general_needs_prp.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralGeneralNeedsPrp < ::Form::Question @copy_key = "lettings.household_situation.referral.general_needs.prp" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -102,5 +102,5 @@ class Form::Lettings::Questions::ReferralGeneralNeedsPrp < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84, 2025 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/referral_hsc.rb b/app/models/form/lettings/questions/referral_hsc.rb index f049b6359..d589768a5 100644 --- a/app/models/form/lettings/questions/referral_hsc.rb +++ b/app/models/form/lettings/questions/referral_hsc.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralHsc < ::Form::Question @copy_key = "lettings.household_situation.referral.hsc" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/referral_justice.rb b/app/models/form/lettings/questions/referral_justice.rb index f222f5fe8..ccd836a2f 100644 --- a/app/models/form/lettings/questions/referral_justice.rb +++ b/app/models/form/lettings/questions/referral_justice.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralJustice < ::Form::Question @copy_key = "lettings.household_situation.referral.justice" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/referral_la.rb b/app/models/form/lettings/questions/referral_la.rb index 352457964..ede72194c 100644 --- a/app/models/form/lettings/questions/referral_la.rb +++ b/app/models/form/lettings/questions/referral_la.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralLa < ::Form::Question @copy_key = "lettings.household_situation.referral.la" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/referral_prp.rb b/app/models/form/lettings/questions/referral_prp.rb index 825967a3f..b0aed7b98 100644 --- a/app/models/form/lettings/questions/referral_prp.rb +++ b/app/models/form/lettings/questions/referral_prp.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralPrp < ::Form::Question @copy_key = "lettings.household_situation.referral.prp" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/referral_supported_housing.rb b/app/models/form/lettings/questions/referral_supported_housing.rb index 3a7ba04ac..2caddc8e2 100644 --- a/app/models/form/lettings/questions/referral_supported_housing.rb +++ b/app/models/form/lettings/questions/referral_supported_housing.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralSupportedHousing < ::Form::Question @copy_key = "lettings.household_situation.referral.supported_housing.la" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -93,5 +93,5 @@ class Form::Lettings::Questions::ReferralSupportedHousing < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84, 2025 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/referral_supported_housing_prp.rb b/app/models/form/lettings/questions/referral_supported_housing_prp.rb index d0236f4af..89f02a723 100644 --- a/app/models/form/lettings/questions/referral_supported_housing_prp.rb +++ b/app/models/form/lettings/questions/referral_supported_housing_prp.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralSupportedHousingPrp < ::Form::Question @copy_key = "lettings.household_situation.referral.supported_housing.prp" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -105,5 +105,5 @@ class Form::Lettings::Questions::ReferralSupportedHousingPrp < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 85, 2024 => 84, 2025 => 84 }.freeze end diff --git a/app/models/form/lettings/questions/referral_type.rb b/app/models/form/lettings/questions/referral_type.rb index b4bb87515..b84e85155 100644 --- a/app/models/form/lettings/questions/referral_type.rb +++ b/app/models/form/lettings/questions/referral_type.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralType < ::Form::Question @copy_key = "lettings.household_situation.referral.type" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options diff --git a/app/models/form/lettings/questions/renewal.rb b/app/models/form/lettings/questions/renewal.rb index e78d98247..71007166b 100644 --- a/app/models/form/lettings/questions/renewal.rb +++ b/app/models/form/lettings/questions/renewal.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::Renewal < ::Form::Question @id = "renewal" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end ANSWER_OPTIONS = { @@ -13,5 +13,5 @@ class Form::Lettings::Questions::Renewal < ::Form::Question } .freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 4, 2024 => 6 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 4, 2024 => 6, 2025 => 6, 2026 => 6 }.freeze end diff --git a/app/models/form/lettings/questions/rent_type.rb b/app/models/form/lettings/questions/rent_type.rb index 7700c5284..5940c18dc 100644 --- a/app/models/form/lettings/questions/rent_type.rb +++ b/app/models/form/lettings/questions/rent_type.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::RentType < ::Form::Question @top_guidance_partial = "rent_type_definitions" @answer_options = answer_options @conditional_for = { "irproduct_other" => [5] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end ANSWER_OPTIONS = { @@ -29,7 +29,7 @@ class Form::Lettings::Questions::RentType < ::Form::Question "6" => { "value" => "Specified accommodation - exempt accommodation, managed properties, refuges and local authority hostels" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 6, 2024 => 8 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 6, 2024 => 8, 2025 => 8, 2026 => 8 }.freeze def answer_options form.start_year_2025_or_later? ? ANSWER_OPTIONS_2025 : ANSWER_OPTIONS diff --git a/app/models/form/lettings/questions/reservist.rb b/app/models/form/lettings/questions/reservist.rb index 023f1655d..f6e97c3d8 100644 --- a/app/models/form/lettings/questions/reservist.rb +++ b/app/models/form/lettings/questions/reservist.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Reservist < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -15,5 +15,5 @@ class Form::Lettings::Questions::Reservist < ::Form::Question "3" => { "value" => "Person prefers not to say" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 68, 2024 => 67 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 68, 2024 => 67, 2025 => 67, 2026 => 74 }.freeze end diff --git a/app/models/form/lettings/questions/rsnvac.rb b/app/models/form/lettings/questions/rsnvac.rb index 42c8d9f92..48523b284 100644 --- a/app/models/form/lettings/questions/rsnvac.rb +++ b/app/models/form/lettings/questions/rsnvac.rb @@ -3,7 +3,7 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question super @id = "rsnvac" @type = "radio" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -98,5 +98,5 @@ class Form::Lettings::Questions::Rsnvac < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 17, 2024 => 18, 2025 => 15 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 17, 2024 => 18, 2025 => 15, 2026 => 15 }.freeze end diff --git a/app/models/form/lettings/questions/rsnvac_first_let.rb b/app/models/form/lettings/questions/rsnvac_first_let.rb index 01389871c..16d6219b6 100644 --- a/app/models/form/lettings/questions/rsnvac_first_let.rb +++ b/app/models/form/lettings/questions/rsnvac_first_let.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::RsnvacFirstLet < ::Form::Question @id = "rsnvac" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -13,5 +13,5 @@ class Form::Lettings::Questions::RsnvacFirstLet < ::Form::Question "15" => { "value" => "First let of new-build property" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 15, 2024 => 16, 2025 => 13 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 15, 2024 => 16, 2025 => 13, 2026 => 13 }.freeze end diff --git a/app/models/form/lettings/questions/scharge_4_weekly.rb b/app/models/form/lettings/questions/scharge_4_weekly.rb index 8c4156774..e95f5b1d2 100644 --- a/app/models/form/lettings/questions/scharge_4_weekly.rb +++ b/app/models/form/lettings/questions/scharge_4_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::Scharge4Weekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 4 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/scharge_bi_weekly.rb b/app/models/form/lettings/questions/scharge_bi_weekly.rb index 7803f8b37..24904797e 100644 --- a/app/models/form/lettings/questions/scharge_bi_weekly.rb +++ b/app/models/form/lettings/questions/scharge_bi_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SchargeBiWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 2 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/scharge_monthly.rb b/app/models/form/lettings/questions/scharge_monthly.rb index 073d4a772..631192bd4 100644 --- a/app/models/form/lettings/questions/scharge_monthly.rb +++ b/app/models/form/lettings/questions/scharge_monthly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SchargeMonthly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every month" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/scharge_weekly.rb b/app/models/form/lettings/questions/scharge_weekly.rb index b6befbad3..5f8aa9843 100644 --- a/app/models/form/lettings/questions/scharge_weekly.rb +++ b/app/models/form/lettings/questions/scharge_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SchargeWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every week" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 96, 2024 => 95, 2025 => 93, 2026 => 101 }.freeze end diff --git a/app/models/form/lettings/questions/scheme_id.rb b/app/models/form/lettings/questions/scheme_id.rb index 862ef3130..c9b371f40 100644 --- a/app/models/form/lettings/questions/scheme_id.rb +++ b/app/models/form/lettings/questions/scheme_id.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::SchemeId < ::Form::Question @answer_options = answer_options @top_guidance_partial = "finding_scheme" @bottom_guidance_partial = "scheme_selection" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? @inferred_answers = { "location.name": { "scheme_has_multiple_locations?": false, @@ -56,5 +56,5 @@ private false end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 9, 2024 => 4 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 9, 2024 => 4, 2025 => 4, 2026 => 4 }.freeze end diff --git a/app/models/form/lettings/questions/sheltered.rb b/app/models/form/lettings/questions/sheltered.rb index 35a16ae05..ca684c7af 100644 --- a/app/models/form/lettings/questions/sheltered.rb +++ b/app/models/form/lettings/questions/sheltered.rb @@ -3,7 +3,7 @@ class Form::Lettings::Questions::Sheltered < ::Form::Question super @id = "sheltered" @type = "radio" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -27,5 +27,5 @@ class Form::Lettings::Questions::Sheltered < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 29, 2024 => 29, 2025 => 25 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 29, 2024 => 29, 2025 => 25, 2026 => 24 }.freeze end diff --git a/app/models/form/lettings/questions/starter_tenancy_type.rb b/app/models/form/lettings/questions/starter_tenancy_type.rb index dfda74bc0..4224781bd 100644 --- a/app/models/form/lettings/questions/starter_tenancy_type.rb +++ b/app/models/form/lettings/questions/starter_tenancy_type.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::StarterTenancyType < ::Form::Question @type = "radio" @check_answers_card_number = 0 @conditional_for = { "tenancyother" => [3] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -65,5 +65,5 @@ class Form::Lettings::Questions::StarterTenancyType < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28, 2026 => 27 }.freeze end diff --git a/app/models/form/lettings/questions/startertenancy.rb b/app/models/form/lettings/questions/startertenancy.rb index 6bec6a360..464e5d3a6 100644 --- a/app/models/form/lettings/questions/startertenancy.rb +++ b/app/models/form/lettings/questions/startertenancy.rb @@ -5,10 +5,10 @@ class Form::Lettings::Questions::Startertenancy < ::Form::Question @type = "radio" @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { "1" => { "value" => "Yes" }, "2" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 26, 2024 => 26, 2025 => 27 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 26, 2024 => 26, 2025 => 27, 2026 => 26 }.freeze end diff --git a/app/models/form/lettings/questions/stock_owner.rb b/app/models/form/lettings/questions/stock_owner.rb index 466b08e3f..6d2ee1d64 100644 --- a/app/models/form/lettings/questions/stock_owner.rb +++ b/app/models/form/lettings/questions/stock_owner.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::StockOwner < ::Form::Question @id = "owning_organisation_id" @derived = true @type = "select" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end def answer_options(log = nil, user = nil) @@ -86,5 +86,5 @@ private "#{name} (inactive as of #{merge_date.to_fs(:govuk_date)})" end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 1 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 1, 2024 => 1, 2025 => 1, 2026 => 1 }.freeze end diff --git a/app/models/form/lettings/questions/supcharg_4_weekly.rb b/app/models/form/lettings/questions/supcharg_4_weekly.rb index 227aead7a..1e3c502b2 100644 --- a/app/models/form/lettings/questions/supcharg_4_weekly.rb +++ b/app/models/form/lettings/questions/supcharg_4_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::Supcharg4Weekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 4 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95, 2026 => 103 }.freeze end diff --git a/app/models/form/lettings/questions/supcharg_bi_weekly.rb b/app/models/form/lettings/questions/supcharg_bi_weekly.rb index e01783122..4ad8048b8 100644 --- a/app/models/form/lettings/questions/supcharg_bi_weekly.rb +++ b/app/models/form/lettings/questions/supcharg_bi_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SupchargBiWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every 2 weeks" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95, 2026 => 103 }.freeze end diff --git a/app/models/form/lettings/questions/supcharg_monthly.rb b/app/models/form/lettings/questions/supcharg_monthly.rb index 25da179d2..85060eda9 100644 --- a/app/models/form/lettings/questions/supcharg_monthly.rb +++ b/app/models/form/lettings/questions/supcharg_monthly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SupchargMonthly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every month" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95, 2026 => 103 }.freeze end diff --git a/app/models/form/lettings/questions/supcharg_weekly.rb b/app/models/form/lettings/questions/supcharg_weekly.rb index c6f7a666d..e34473e17 100644 --- a/app/models/form/lettings/questions/supcharg_weekly.rb +++ b/app/models/form/lettings/questions/supcharg_weekly.rb @@ -12,9 +12,9 @@ class Form::Lettings::Questions::SupchargWeekly < ::Form::Question @result_field = "tcharge" @prefix = "£" @suffix = " every week" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 98, 2024 => 97, 2025 => 95, 2026 => 103 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_length.rb b/app/models/form/lettings/questions/tenancy_length.rb index a3155f8c0..27ac9dbdc 100644 --- a/app/models/form/lettings/questions/tenancy_length.rb +++ b/app/models/form/lettings/questions/tenancy_length.rb @@ -9,8 +9,8 @@ class Form::Lettings::Questions::TenancyLength < ::Form::Question @max = 150 @min = 0 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29, 2026 => 28 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_length_affordable_rent.rb b/app/models/form/lettings/questions/tenancy_length_affordable_rent.rb index 58b83fe90..f26adbe6f 100644 --- a/app/models/form/lettings/questions/tenancy_length_affordable_rent.rb +++ b/app/models/form/lettings/questions/tenancy_length_affordable_rent.rb @@ -9,8 +9,8 @@ class Form::Lettings::Questions::TenancyLengthAffordableRent < ::Form::Question @max = 150 @min = 0 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29, 2026 => 28 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_length_intermediate_rent.rb b/app/models/form/lettings/questions/tenancy_length_intermediate_rent.rb index c85583d95..ed3a13b0c 100644 --- a/app/models/form/lettings/questions/tenancy_length_intermediate_rent.rb +++ b/app/models/form/lettings/questions/tenancy_length_intermediate_rent.rb @@ -9,8 +9,8 @@ class Form::Lettings::Questions::TenancyLengthIntermediateRent < ::Form::Questio @max = 150 @min = 0 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29, 2026 => 28 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_length_periodic.rb b/app/models/form/lettings/questions/tenancy_length_periodic.rb index e7f9336ec..85041680e 100644 --- a/app/models/form/lettings/questions/tenancy_length_periodic.rb +++ b/app/models/form/lettings/questions/tenancy_length_periodic.rb @@ -9,8 +9,8 @@ class Form::Lettings::Questions::TenancyLengthPeriodic < ::Form::Question @max = 150 @min = 0 @step = 1 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 28, 2024 => 28, 2025 => 29, 2026 => 28 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_other.rb b/app/models/form/lettings/questions/tenancy_other.rb index 8a8a94108..6f455fead 100644 --- a/app/models/form/lettings/questions/tenancy_other.rb +++ b/app/models/form/lettings/questions/tenancy_other.rb @@ -5,8 +5,8 @@ class Form::Lettings::Questions::TenancyOther < ::Form::Question @copy_key = "lettings.tenancy_information.tenancy.#{page.id}.tenancyother" @type = "text" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28, 2026 => 27 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_start_date.rb b/app/models/form/lettings/questions/tenancy_start_date.rb index b7d82b399..fc5137626 100644 --- a/app/models/form/lettings/questions/tenancy_start_date.rb +++ b/app/models/form/lettings/questions/tenancy_start_date.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::TenancyStartDate < ::Form::Question @id = "startdate" @type = "date" @unresolved_hint_text = "Some scheme details have changed, and now this log needs updating. Check that the tenancy start date is correct." - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end def date_example_override(log) @@ -20,5 +20,5 @@ class Form::Lettings::Questions::TenancyStartDate < ::Form::Question I18n.t("forms.#{form.start_date.year}.#{copy_key}.example", default: "", example_date:) end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 5, 2024 => 7 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 5, 2024 => 7, 2025 => 7, 2026 => 7 }.freeze end diff --git a/app/models/form/lettings/questions/tenancy_type.rb b/app/models/form/lettings/questions/tenancy_type.rb index 96fda2687..d2b9a5925 100644 --- a/app/models/form/lettings/questions/tenancy_type.rb +++ b/app/models/form/lettings/questions/tenancy_type.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::TenancyType < ::Form::Question @type = "radio" @check_answers_card_number = 0 @conditional_for = { "tenancyother" => [3] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -65,5 +65,5 @@ class Form::Lettings::Questions::TenancyType < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 27, 2024 => 27, 2025 => 28, 2026 => 27 }.freeze end diff --git a/app/models/form/lettings/questions/tenant_code.rb b/app/models/form/lettings/questions/tenant_code.rb index 7b7be3cac..36b3d0aee 100644 --- a/app/models/form/lettings/questions/tenant_code.rb +++ b/app/models/form/lettings/questions/tenant_code.rb @@ -4,8 +4,8 @@ class Form::Lettings::Questions::TenantCode < ::Form::Question @id = "tenancycode" @type = "text" @width = 10 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present? + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) if form.start_date.present? end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 7, 2024 => 9 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 7, 2024 => 9, 2025 => 9, 2026 => 9 }.freeze end diff --git a/app/models/form/lettings/questions/town_or_city.rb b/app/models/form/lettings/questions/town_or_city.rb index 5673b7f01..6db52c92d 100644 --- a/app/models/form/lettings/questions/town_or_city.rb +++ b/app/models/form/lettings/questions/town_or_city.rb @@ -6,9 +6,9 @@ class Form::Lettings::Questions::TownOrCity < ::Form::Question @type = "text" @plain_label = true @disable_clearing_if_not_routed_or_dynamic_answer_options = true - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @hide_question_number_on_page = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 12, 2024 => 13, 2025 => 17, 2026 => 17 }.freeze end diff --git a/app/models/form/lettings/questions/tshortfall.rb b/app/models/form/lettings/questions/tshortfall.rb index ced2a426a..a271f9e06 100644 --- a/app/models/form/lettings/questions/tshortfall.rb +++ b/app/models/form/lettings/questions/tshortfall.rb @@ -21,9 +21,9 @@ class Form::Lettings::Questions::Tshortfall < ::Form::Question { "label" => " every week for 52 weeks", "depends_on" => { "period" => 1 } }, { "label" => " every week for 53 weeks", "depends_on" => { "period" => 10 } }, ] - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @strip_commas = true end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 100, 2024 => 99, 2025 => 97 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 100, 2024 => 99, 2025 => 97, 2026 => 105 }.freeze end diff --git a/app/models/form/lettings/questions/tshortfall_known.rb b/app/models/form/lettings/questions/tshortfall_known.rb index 8ba0b038c..97b41a09b 100644 --- a/app/models/form/lettings/questions/tshortfall_known.rb +++ b/app/models/form/lettings/questions/tshortfall_known.rb @@ -7,10 +7,10 @@ class Form::Lettings::Questions::TshortfallKnown < ::Form::Question @check_answers_card_number = 0 @answer_options = ANSWER_OPTIONS @conditional_for = { "tshortfall" => [0] } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { "0" => { "value" => "Yes" }, "1" => { "value" => "No" } }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 100, 2024 => 99, 2025 => 97 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 100, 2024 => 99, 2025 => 97, 2026 => 105 }.freeze end diff --git a/app/models/form/lettings/questions/unittype_gn.rb b/app/models/form/lettings/questions/unittype_gn.rb index ad8298929..34391bf83 100644 --- a/app/models/form/lettings/questions/unittype_gn.rb +++ b/app/models/form/lettings/questions/unittype_gn.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::UnittypeGn < ::Form::Question @id = "unittype_gn" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -18,5 +18,5 @@ class Form::Lettings::Questions::UnittypeGn < ::Form::Question "6" => { "value" => "Other" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 19 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 19, 2024 => 19, 2025 => 19, 2026 => 19 }.freeze end diff --git a/app/models/form/lettings/questions/uprn.rb b/app/models/form/lettings/questions/uprn.rb index 7f1f240f9..98ffb75c2 100644 --- a/app/models/form/lettings/questions/uprn.rb +++ b/app/models/form/lettings/questions/uprn.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::Uprn < ::Form::Question @copy_key = "lettings.property_information.uprn.uprn" @type = "text" @width = 10 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @inferred_check_answers_value = [ { "condition" => { "uprn_known" => 0 }, @@ -35,5 +35,5 @@ class Form::Lettings::Questions::Uprn < ::Form::Question "\n\n#{value.join("\n")}" end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 11, 2024 => 12, 2025 => 16 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 11, 2024 => 12, 2025 => 16, 2026 => 16 }.freeze end diff --git a/app/models/form/lettings/questions/uprn_known.rb b/app/models/form/lettings/questions/uprn_known.rb index 6ac70e415..5dab0f35a 100644 --- a/app/models/form/lettings/questions/uprn_known.rb +++ b/app/models/form/lettings/questions/uprn_known.rb @@ -18,7 +18,7 @@ class Form::Lettings::Questions::UprnKnown < ::Form::Question { "uprn_known" => 1 }, ], } - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -30,5 +30,5 @@ class Form::Lettings::Questions::UprnKnown < ::Form::Question I18n.t("validations.property.uprn_known.invalid") end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 11, 2024 => 12, 2025 => 16 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 11, 2024 => 12, 2025 => 16, 2026 => 16 }.freeze end diff --git a/app/models/form/lettings/questions/voiddate.rb b/app/models/form/lettings/questions/voiddate.rb index 3bce8a7b8..afdbb01ae 100644 --- a/app/models/form/lettings/questions/voiddate.rb +++ b/app/models/form/lettings/questions/voiddate.rb @@ -3,9 +3,9 @@ class Form::Lettings::Questions::Voiddate < ::Form::Question super @id = "voiddate" @type = "date" - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @top_guidance_partial = "void_date" end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 23 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 23, 2024 => 23, 2025 => 23, 2026 => 22 }.freeze end diff --git a/app/models/form/lettings/questions/waityear.rb b/app/models/form/lettings/questions/waityear.rb index 5c81fdedc..7e0f2b77e 100644 --- a/app/models/form/lettings/questions/waityear.rb +++ b/app/models/form/lettings/questions/waityear.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::Waityear < ::Form::Question @id = "waityear" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -49,5 +49,5 @@ class Form::Lettings::Questions::Waityear < ::Form::Question }.freeze end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 76, 2024 => 75 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 76, 2024 => 75, 2025 => 75, 2026 => 82 }.freeze end diff --git a/app/models/form/lettings/questions/wheelchair.rb b/app/models/form/lettings/questions/wheelchair.rb index 9da5399e6..289e298f5 100644 --- a/app/models/form/lettings/questions/wheelchair.rb +++ b/app/models/form/lettings/questions/wheelchair.rb @@ -4,7 +4,7 @@ class Form::Lettings::Questions::Wheelchair < ::Form::Question @id = "wchair" @type = "radio" @answer_options = ANSWER_OPTIONS - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end ANSWER_OPTIONS = { @@ -12,5 +12,5 @@ class Form::Lettings::Questions::Wheelchair < ::Form::Question "2" => { "value" => "No" }, }.freeze - QUESTION_NUMBER_FROM_YEAR = { 2023 => 21 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 21, 2024 => 21, 2025 => 21, 2026 => 20 }.freeze end diff --git a/app/models/form/lettings/questions/working_situation1.rb b/app/models/form/lettings/questions/working_situation1.rb index 6098eb136..0a0221579 100644 --- a/app/models/form/lettings/questions/working_situation1.rb +++ b/app/models/form/lettings/questions/working_situation1.rb @@ -5,7 +5,7 @@ class Form::Lettings::Questions::WorkingSituation1 < ::Form::Question @type = "radio" @check_answers_card_number = 1 @answer_options = answer_options - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) end def answer_options @@ -40,5 +40,5 @@ class Form::Lettings::Questions::WorkingSituation1 < ::Form::Question end end - QUESTION_NUMBER_FROM_YEAR = { 2023 => 37, 2024 => 36 }.freeze + QUESTION_NUMBER_FROM_YEAR = { 2023 => 37, 2024 => 36, 2025 => 36, 2026 => 36 }.freeze end diff --git a/app/models/form/question.rb b/app/models/form/question.rb index e5bc0c9a6..be90899f9 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -367,7 +367,7 @@ private inferred_answer["value"] if inferred_answer.present? end - # every year currently visible should be specified. + # every year currently visible should have an explicit question number specified. # however, form_handler.rb will still initialise the next form even if its not visible. # so we have a fallback to the latest year for these future years so all question have a question number. def get_question_number_from_hash(hash) diff --git a/lib/tasks/add_new_year_to_questions.rake b/lib/tasks/add_new_year_to_questions.rake new file mode 100644 index 000000000..bd5a75cd3 --- /dev/null +++ b/lib/tasks/add_new_year_to_questions.rake @@ -0,0 +1,54 @@ +require "pathname" + +desc "Add a new year to all lettings question number hashes and saves the new code. +Usage: bundle exec rake add_new_year_to_questions[new_year,log_type]. +Example: bundle exec rake add_new_year_to_questions[2027,lettings]. +This rake should only be run as part of local development at the start of new collection year creation. +Make sure your working tree is clean before running this, it will update each question file in place. +Note that this will only update questions with a QUESTION_NUMBER_FROM_YEAR hash set. +Some questions (such as any of the per person questions) which define custom question logic will need manual review. +Params: +- new_year: the year to add, e.g. 2025 +- log_type: the type of log to update. can be lettings or sales" +task :add_new_year_to_questions, %i[new_year log_type] => :environment do |_task, args| + new_year = args[:new_year].to_i + previous_year = new_year - 1 + + root = Pathname.new("app/models/form/#{args[:log_type]}/questions") + files = root.glob("*.rb") + + hash_re = /QUESTION_NUMBER_FROM_YEAR\s*=\s*\{([^}]*)}\.freeze/m + + changed = [] + + files.each do |path| + text = path.read + next unless text.include?("QUESTION_NUMBER_FROM_YEAR") + + match = hash_re.match(text) + next unless match + + body = match[1] + pairs = body.scan(/(\d+)\s*=>\s*(\d+)/) + next if pairs.empty? + + year_to_num = pairs.to_h { |y, n| [y.to_i, n.to_i] } + next if year_to_num.key?(new_year) + next unless year_to_num.key?(previous_year) + + year_to_num[new_year] = year_to_num[previous_year] + + items = year_to_num.keys.sort.map { |y| "#{y} => #{year_to_num[y]}" }.join(", ") + replacement = "QUESTION_NUMBER_FROM_YEAR = { #{items} }.freeze" + + new_text = text.sub(hash_re, replacement) + + next if new_text == text + + path.write(new_text) + changed << path + end + + puts "changed #{changed.length}" + changed.each { |p| puts p } +end diff --git a/spec/models/form/lettings/pages/person_age_spec.rb b/spec/models/form/lettings/pages/person_age_spec.rb index 2043052fd..d782b01fa 100644 --- a/spec/models/form/lettings/pages/person_age_spec.rb +++ b/spec/models/form/lettings/pages/person_age_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonAge, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2024_or_later?: false)) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2024_or_later?: false, start_year_2026_or_later?: false, person_question_count: 4)) } let(:person_index) { 2 } it "has correct subsection" do diff --git a/spec/models/form/lettings/pages/person_lead_partner_spec.rb b/spec/models/form/lettings/pages/person_lead_partner_spec.rb index 55ee97e1d..ce5e258f0 100644 --- a/spec/models/form/lettings/pages/person_lead_partner_spec.rb +++ b/spec/models/form/lettings/pages/person_lead_partner_spec.rb @@ -4,7 +4,9 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1)) } + let(:start_year_2026_or_later?) { false } + let(:person_question_count) { 4 } + let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: start_year_2026_or_later?, person_question_count:) } let(:subsection) { instance_double(Form::Subsection, form:) } let(:person_index) { 2 } @@ -26,9 +28,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year < 2026", metadata: { year: 25 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(false) - end + let(:person_question_count) { 4 } it "has correct depends_on" do expect(page.depends_on).to eq( @@ -38,9 +38,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year >= 2026", metadata: { year: 26 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(true) - end + let(:start_year_2026_or_later?) { true } + let(:person_question_count) { 5 } it "has correct depends_on" do expect(page.depends_on).to eq( @@ -71,9 +70,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year < 2026", metadata: { year: 25 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(false) - end + let(:person_question_count) { 4 } it "has correct depends_on" do expect(page.depends_on).to eq( @@ -83,9 +80,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do end context "with start year >= 2026", metadata: { year: 26 } do - before do - allow(form).to receive(:start_year_2026_or_later?).and_return(true) - end + let(:start_year_2026_or_later?) { true } + let(:person_question_count) { 5 } it "has correct depends_on" do expect(page.depends_on).to eq( diff --git a/spec/models/form/lettings/pages/person_sex_registered_at_birth_spec.rb b/spec/models/form/lettings/pages/person_sex_registered_at_birth_spec.rb index 628fe5f30..30feef7b4 100644 --- a/spec/models/form/lettings/pages/person_sex_registered_at_birth_spec.rb +++ b/spec/models/form/lettings/pages/person_sex_registered_at_birth_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonSexRegisteredAtBirth, type: :model d subject(:page) { described_class.new(page_id, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1))) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1), person_question_count: 5)) } let(:person_index) { 1 } let(:page_id) { "person_2_sex_registered_at_birth" } diff --git a/spec/models/form/lettings/pages/person_working_situation_spec.rb b/spec/models/form/lettings/pages/person_working_situation_spec.rb index a88cdcde0..2c0e6e50a 100644 --- a/spec/models/form/lettings/pages/person_working_situation_spec.rb +++ b/spec/models/form/lettings/pages/person_working_situation_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Pages::PersonWorkingSituation, type: :model do subject(:page) { described_class.new(nil, page_definition, subsection, person_index:) } let(:page_definition) { nil } - let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1))) } + let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: false, person_question_count: 4)) } let(:person_index) { 2 } before do diff --git a/spec/models/form/lettings/questions/age_known_spec.rb b/spec/models/form/lettings/questions/age_known_spec.rb index 5f7946a16..7a1835628 100644 --- a/spec/models/form/lettings/questions/age_known_spec.rb +++ b/spec/models/form/lettings/questions/age_known_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Questions::AgeKnown, type: :model do subject(:question) { described_class.new(nil, question_definition, page, person_index:) } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 4)))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 4), person_question_count: 4))) } let(:person_index) { 2 } it "has correct page" do diff --git a/spec/models/form/lettings/questions/age_spec.rb b/spec/models/form/lettings/questions/age_spec.rb index 639f695fd..8d3003b82 100644 --- a/spec/models/form/lettings/questions/age_spec.rb +++ b/spec/models/form/lettings/questions/age_spec.rb @@ -1,10 +1,15 @@ require "rails_helper" RSpec.describe Form::Lettings::Questions::Age, type: :model do + include CollectionTimeHelper + subject(:question) { described_class.new(nil, question_definition, page, person_index:) } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2023, 4, 4), start_year_2024_or_later?: false))) } + let(:start_year_2026_or_later?) { false } + let(:person_question_count) { 5 } + let(:start_year) { current_collection_start_year } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: collection_start_date_for_year(start_year), start_year_2024_or_later?: true, start_year_2026_or_later?: start_year_2026_or_later?, person_question_count:))) } let(:person_index) { 2 } it "has correct page" do @@ -48,6 +53,25 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do it "has the correct check_answers_card_number" do expect(question.check_answers_card_number).to eq(2) end + + context "with year 2025", metadata: { year: 25 } do + let(:start_year) { 2025 } + let(:person_question_count) { 4 } + + it "has the correct question number" do + expect(question.question_number).to eq(38) + end + end + + context "with year 2026", metadata: { year: 26 } do + let(:start_year_2026_or_later?) { true } + let(:start_year) { 2026 } + let(:person_question_count) { 5 } + + it "has the correct question number" do + expect(question.question_number).to eq(37) + end + end end context "with person 3" do @@ -69,5 +93,24 @@ RSpec.describe Form::Lettings::Questions::Age, type: :model do it "has the correct check_answers_card_number" do expect(question.check_answers_card_number).to eq(3) end + + context "with year 2025", metadata: { year: 25 } do + let(:start_year) { 2025 } + let(:person_question_count) { 4 } + + it "has the correct question number" do + expect(question.question_number).to eq(42) + end + end + + context "with year 2026", metadata: { year: 26 } do + let(:start_year_2026_or_later?) { true } + let(:start_year) { 2026 } + let(:person_question_count) { 5 } + + it "has the correct question number" do + expect(question.question_number).to eq(42) + end + end end end diff --git a/spec/models/form/lettings/questions/person_partner_spec.rb b/spec/models/form/lettings/questions/person_partner_spec.rb index 2106bc36f..cfe12fae2 100644 --- a/spec/models/form/lettings/questions/person_partner_spec.rb +++ b/spec/models/form/lettings/questions/person_partner_spec.rb @@ -7,6 +7,7 @@ RSpec.describe Form::Lettings::Questions::PersonPartner, type: :model do let(:question_definition) { nil } let(:year) { nil } + let(:person_question_count) { 5 } let(:page) do instance_double( Form::Page, @@ -17,6 +18,7 @@ RSpec.describe Form::Lettings::Questions::PersonPartner, type: :model do start_date: year ? collection_start_date_for_year(year) : current_collection_start_date, start_year_2025_or_later?: year.nil? || year >= 2025, start_year_2026_or_later?: year.nil? || year >= 2026, + person_question_count:, ), ), ) diff --git a/spec/models/form/lettings/questions/person_sex_registered_at_birth_spec.rb b/spec/models/form/lettings/questions/person_sex_registered_at_birth_spec.rb index 90f48cfda..afa6e59a7 100644 --- a/spec/models/form/lettings/questions/person_sex_registered_at_birth_spec.rb +++ b/spec/models/form/lettings/questions/person_sex_registered_at_birth_spec.rb @@ -8,7 +8,7 @@ RSpec.describe Form::Lettings::Questions::PersonSexRegisteredAtBirth, type: :mod let(:page) { instance_double(Form::Page) } let(:person_index) { 2 } let(:subsection) { instance_double(Form::Subsection) } - let(:form) { instance_double(Form, start_date: Time.zone.local(2026, 4, 1)) } + let(:form) { instance_double(Form, start_date: Time.zone.local(2026, 4, 1), person_question_count: 5) } before do allow(page).to receive(:subsection).and_return(subsection) diff --git a/spec/models/form/lettings/questions/person_working_situation_spec.rb b/spec/models/form/lettings/questions/person_working_situation_spec.rb index 503c699b2..b56c543a8 100644 --- a/spec/models/form/lettings/questions/person_working_situation_spec.rb +++ b/spec/models/form/lettings/questions/person_working_situation_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Form::Lettings::Questions::PersonWorkingSituation, type: :model d subject(:question) { described_class.new(nil, question_definition, page, person_index:) } let(:question_definition) { nil } - let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 4)))) } + let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2025, 4, 4), start_year_2026_or_later?: false, person_question_count: 4))) } let(:person_index) { 2 } before do