clarion/app/models/event.rb

32 lines
1003 B
Ruby
Raw Normal View History

class Event < ActiveRecord::Base
validates :title, presence: true
validates :length, presence: true, numericality: {only_integer: true, greater_than: 0}
validates :abstract, presence: true
validates :description, presence: true
2014-09-04 00:39:54 +03:00
validates :agreement, acceptance: true
belongs_to :track
has_one :conference, through: :track
belongs_to :user # XXX: Transition to candidate_speaker
belongs_to :candidate_speaker, class_name: 'User', foreign_key: 'user_id'
has_and_belongs_to_many :speakers, class_name: 'SpeakerProfile'
2014-10-10 20:25:41 +03:00
enum state: [:undecided, :approved, :rejected, :backup]
2014-10-10 19:10:34 +03:00
2014-10-15 01:07:40 +03:00
scope :confirmed, -> { where.not confirmed_at: nil }
2014-10-10 19:10:34 +03:00
# XXX: this belongs in a decorator
2014-10-11 19:08:35 +03:00
STATE_TO_GLYPH = {undecided: 'question-sign', rejected: 'remove', approved: 'ok', backup: 'retweet'}
2014-10-10 20:25:41 +03:00
STATE_TO_CLASS = {undecided: 'warning', rejected: 'danger', approved: 'success', backup: 'info'}
2014-10-10 19:10:34 +03:00
2014-10-12 15:38:15 +03:00
def confirmed?
!!confirmed_at
end
private
def self.inheritance_column
'something'
end
end