Browse Source

inital

pull/70/head
magicmilo 3 years ago
parent
commit
bea7c54e5a
  1. 25
      app/models/case_log.rb

25
app/models/case_log.rb

@ -61,6 +61,23 @@ class CaseLogValidator < ActiveModel::Validator
end
end
def validate_shared_housing_rooms(record)
number_of_tenants = people_in_household(record)
if record.property_unit_type == "Bed-sit" && record.property_number_of_bedrooms != 1
record.errors.add :property_unit_type, "A bedsit can only have one bedroom"
end
if people_in_household(record) > 1
if record.property_unit_type.include? == "Shared" && (record.property_number_of_bedrooms == 0 && record.property_number_of_bedrooms > 7)
record.errors.add :property_unit_type, "A shared house must have 1 to 7 bedrooms"
end
else
if record.property_unit_type.include? == "Shared" && (record.property_number_of_bedrooms == 0 && record.property_number_of_bedrooms > 3)
record.errors.add :property_unit_type, "A shared house with one tenant must have 1 to 3 bedrooms"
end
end
end
def validate(record)
# If we've come from the form UI we only want to validate the specific fields
# that have just been submitted. If we're submitting a log via API or Bulk Upload
@ -87,6 +104,14 @@ private
record["person_#{n}_gender"] == "Female" && record["person_#{n}_age"] >= 16 && record["person_#{n}_age"] <= 50
end
end
def people_in_household(record)
count = 0
(1..8).any? do |n|
next if record["person_#{n}_gender"].nil? || record["person_#{n}_age"].nil?
count += 1
end
end
end
class CaseLog < ApplicationRecord

Loading…
Cancel
Save