Commit 55c79e0ce0e931758addd3f883fc42588ddc13d9

Authored by Rodrigo Souto
1 parent 692325d6

Do not allow usp id as empty string

plugins/stoa/lib/ext/person.rb
... ... @@ -5,6 +5,10 @@ class Person
5 5 settings_items :invitation_code
6 6 validate :usp_id_or_invitation, :if => lambda { |person| person.environment && person.environment.plugin_enabled?(StoaPlugin)}
7 7  
  8 + before_validation do |person|
  9 + person.usp_id = nil if person.usp_id.blank?
  10 + end
  11 +
8 12 def usp_id_or_invitation
9 13 if usp_id.blank? && (invitation_code.blank? || !invitation_task)
10 14 errors.add(:usp_id, "can't register without usp_id or a valid invitation code")
... ...
plugins/stoa/test/unit/person_test.rb
... ... @@ -18,6 +18,13 @@ class StoaPlugin::Person < ActiveSupport::TestCase
18 18 assert another_person.errors.invalid?(:usp_id)
19 19 end
20 20  
  21 + should 'not allow usp_id as an empty string' do
  22 + person = Person.new(:usp_id => '')
  23 + person.valid?
  24 +
  25 + assert_nil person.usp_id
  26 + end
  27 +
21 28 should 'allow nil usp_id only if person has an invitation_code' do
22 29 person = Person.new(:environment => environment)
23 30 person.valid?
... ...