diff --git a/app/models/form/lettings/questions/referral_noms.rb b/app/models/form/lettings/questions/referral_noms.rb index 9cdd60c4a..4d1390fdd 100644 --- a/app/models/form/lettings/questions/referral_noms.rb +++ b/app/models/form/lettings/questions/referral_noms.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralNoms < ::Form::Question @copy_key = "lettings.household_situation.referral.noms" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @referral_register = referral_register end diff --git a/app/models/form/lettings/questions/referral_org.rb b/app/models/form/lettings/questions/referral_org.rb index 034645ceb..797e30074 100644 --- a/app/models/form/lettings/questions/referral_org.rb +++ b/app/models/form/lettings/questions/referral_org.rb @@ -6,7 +6,7 @@ class Form::Lettings::Questions::ReferralOrg < ::Form::Question @copy_key = "lettings.household_situation.referral.org" @type = "radio" @check_answers_card_number = 0 - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @referral_noms = referral_noms end diff --git a/app/models/form/lettings/questions/referral_register.rb b/app/models/form/lettings/questions/referral_register.rb index 92de6fa1b..cc3c25e74 100644 --- a/app/models/form/lettings/questions/referral_register.rb +++ b/app/models/form/lettings/questions/referral_register.rb @@ -7,7 +7,7 @@ class Form::Lettings::Questions::ReferralRegister < ::Form::Question @type = "radio" @check_answers_card_number = 0 @provider_type = provider_type - @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] + @question_number = get_question_number_from_hash(QUESTION_NUMBER_FROM_YEAR) @question_number += 1 if @provider_type == :prp end diff --git a/app/models/form/question.rb b/app/models/form/question.rb index c826493a0..0481a8977 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -362,6 +362,13 @@ private inferred_answer["value"] if inferred_answer.present? end + # every year currently visible should be 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) + hash[form.start_date.year] || hash[hash.keys.max] + end + RADIO_YES_VALUE = { renewal: [1], postcode_known: [1],