summaryrefslogtreecommitdiff
path: root/app/models/conference_invitee.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/conference_invitee.rb')
-rw-r--r--app/models/conference_invitee.rb19
1 files changed, 10 insertions, 9 deletions
diff --git a/app/models/conference_invitee.rb b/app/models/conference_invitee.rb
index d6e3bac..5b99ca4 100644
--- a/app/models/conference_invitee.rb
+++ b/app/models/conference_invitee.rb
@@ -1,27 +1,28 @@
class ConferenceInvitee < ActiveRecord::Base
attr_accessible :pin, :speaker, :moderator, :phone_number, :phone_number_attributes
-
+
belongs_to :conference
belongs_to :phone_book_entry
has_one :phone_number, :as => :phone_numberable, :dependent => :destroy
accepts_nested_attributes_for :phone_number
+ before_validation {
+ if !self.pin.blank?
+ self.pin = self.pin.to_s.gsub(/[^0-9]/, '')
+ end
+ }
+
validates_presence_of :conference_id
validates_presence_of :conference
validates_presence_of :phone_number
- validates_numericality_of :pin, :only_integer => true,
- :greater_than => 0,
- :allow_nil => true,
- :allow_blank => true
- validates_length_of :pin, :minimum => (GsParameter.get('MINIMUM_PIN_LENGTH').nil? ? 4 : GsParameter.get('MINIMUM_PIN_LENGTH')),
- :allow_nil => true,
- :allow_blank => true
+ validates_length_of :pin, :minimum => (GsParameter.get('MINIMUM_PIN_LENGTH').nil? ? 4 : GsParameter.get('MINIMUM_PIN_LENGTH')),
+ :allow_nil => true,
+ :allow_blank => true
validates_inclusion_of :speaker, :in => [true, false]
validates_inclusion_of :moderator, :in => [true, false]
validate :uniqueness_of_phone_number_in_the_parent_conference
- validates_uniqueness_of :phone_book_entry_id, :scope => :conference_id, :allow_nil => true
def to_s
"ID #{self.id}"