Commit 36b6acfcd3f11eb8f7260080995cc0e029037865

Authored by Antonio Terceiro
1 parent 7c9e07f7

Don't accept borth dates with empty year

When the year is empty, it ends up as 1 in the date object.
Showing 2 changed files with 12 additions and 0 deletions   Show diff stats
app/models/person.rb
... ... @@ -120,6 +120,12 @@ class Person < Profile
120 120  
121 121 validates_multiparameter_assignments
122 122  
  123 + validates_each :birth_date do |record,attr,value|
  124 + if value && value.year == 1
  125 + record.errors.add(attr, _('%{fn} is invalid'))
  126 + end
  127 + end
  128 +
123 129 def self.fields
124 130 FIELDS
125 131 end
... ...
test/unit/person_test.rb
... ... @@ -1193,6 +1193,12 @@ class PersonTest < ActiveSupport::TestCase
1193 1193 end
1194 1194 end
1195 1195  
  1196 + should 'not accept an empty year on birth date' do
  1197 + p = Person.new({"birth_date(2i)"=>"11", "birth_date(3i)"=>"15", "birth_date(1i)"=>""})
  1198 + p.valid?
  1199 + assert p.errors.invalid?(:birth_date)
  1200 + end
  1201 +
1196 1202 should 'associate report with the correct complaint' do
1197 1203 p1 = create_user('user1').person
1198 1204 p2 = create_user('user2').person
... ...