Browse Source

Add child under 16 validation to 2024, do not reset ecstat

pull/2256/head
Kat 2 years ago
parent
commit
c8e4695959
  1. 2
      app/models/derived_variables/sales_log_variables.rb
  2. 1
      app/models/form/sales/questions/person_working_situation.rb
  3. 4
      app/models/validations/sales/household_validations.rb

2
app/models/derived_variables/sales_log_variables.rb

@ -130,8 +130,6 @@ private
(start_index..6).each do |idx|
if age_under_16?(idx)
self["ecstat#{idx}"] = 9
elsif public_send("ecstat#{idx}") == 9 && age_known?(idx)
self["ecstat#{idx}"] = nil
end
end
end

1
app/models/form/sales/questions/person_working_situation.rb

@ -33,6 +33,7 @@ class Form::Sales::Questions::PersonWorkingSituation < ::Form::Question
"depends_on" => [
{ "saledate" => { "operator" => "<", "operand" => Time.zone.local(2024, 4, 1) } },
{ "age#{@person_index}_known" => 1 },
{ "age#{@person_index}_known" => nil },
{ "age#{@person_index}" => { "operator" => "<", "operand" => 16 } },
],
},

4
app/models/validations/sales/household_validations.rb

@ -72,14 +72,12 @@ module Validations::Sales::HouseholdValidations
end
def validate_person_age_matches_economic_status(record)
return if record.form.start_year_after_2024?
(2..6).each do |person_num|
age = record.public_send("age#{person_num}")
economic_status = record.public_send("ecstat#{person_num}")
next unless age && economic_status
if age < 16 && !economic_status_is_child_other_or_refused?(economic_status)
if age < 16 && !economic_status_is_child_other_or_refused?(economic_status) && !record.form.start_year_after_2024?
record.errors.add "ecstat#{person_num}", I18n.t("validations.household.ecstat.child_under_16", person_num:)
record.errors.add "age#{person_num}", I18n.t("validations.household.age.child_under_16_ecstat", person_num:)
end

Loading…
Cancel
Save