diff --git a/app/models/derived_variables/lettings_log_variables.rb b/app/models/derived_variables/lettings_log_variables.rb index abce99667..6c7dc955e 100644 --- a/app/models/derived_variables/lettings_log_variables.rb +++ b/app/models/derived_variables/lettings_log_variables.rb @@ -339,7 +339,7 @@ private def infer_only_partner!(partner_number) return unless hhmemb - (2..hhmemb).each do |i| + (2..[hhmemb, 8].min).each do |i| next if i == partner_number if ["P", nil].include?(public_send("relat#{i}")) diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 2e6b800eb..15e89fa58 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -284,7 +284,7 @@ class LettingsLog < Log range = ALLOWED_INCOME_RANGES[ecstat1].clone if hhmemb > 1 - (2..hhmemb).each do |person_index| + (2..[hhmemb, 8].min).each do |person_index| ecstat = self["ecstat#{person_index}"] if ecstat.nil? diff --git a/app/models/validations/financial_validations.rb b/app/models/validations/financial_validations.rb index a5794a5e3..0e75d05c4 100644 --- a/app/models/validations/financial_validations.rb +++ b/app/models/validations/financial_validations.rb @@ -41,7 +41,7 @@ module Validations::FinancialValidations :over_hard_max, message: I18n.t("validations.lettings.financial.hhmemb.earnings_over_hard_max", earnings: format_as_currency(record.earnings), frequency:), ) - (1..record.hhmemb).each do |n| + (1..[record.hhmemb, 8].min).each do |n| record.errors.add( "ecstat#{n}", :over_hard_max, @@ -70,7 +70,7 @@ module Validations::FinancialValidations :under_hard_min, message: I18n.t("validations.lettings.financial.hhmemb.earnings_under_hard_min", earnings: format_as_currency(record.earnings), frequency:), ) - (1..record.hhmemb).each do |n| + (1..[record.hhmemb, 8].min).each do |n| record.errors.add( "ecstat#{n}", :under_hard_min, diff --git a/app/models/validations/soft_validations.rb b/app/models/validations/soft_validations.rb index 0ff08afb1..150633e15 100644 --- a/app/models/validations/soft_validations.rb +++ b/app/models/validations/soft_validations.rb @@ -258,17 +258,17 @@ private end def any_non_male_in_expected_pregnancy_age_range(min, max) - person_count = hhmemb || 8 + max_person_with_details = [hhmemb || 8, 8].min - (1..person_count).any? do |n| + (1..max_person_with_details).any? do |n| person_in_expected_pregnancy_age_range(n, min, max) && person_is_non_male(n) end end def non_males_in_the_household? - person_count = hhmemb || 8 + max_person_with_details = [hhmemb || 8, 8].min - (1..person_count).any? do |n| + (1..max_person_with_details).any? do |n| person_is_non_male(n) end end