ensl.org/app/models/poll.rb

44 lines
940 B
Ruby
Raw Normal View History

# == Schema Information
#
# Table name: polls
#
# id :integer not null, primary key
# question :string(255)
# end_date :datetime
# user_id :integer
# created_at :datetime
# updated_at :datetime
# votes :integer default(0), not null
#
class Poll < ActiveRecord::Base
include Extra
attr_protected :id, :updated_at, :created_at, :votes, :user_id
validates_length_of :question, :in => 1..50
#validates_datetime :end_date
belongs_to :user
has_many :options, :class_name => "Option", :dependent => :destroy
has_many :real_votes, :through => :options
accepts_nested_attributes_for :options, :allow_destroy => true
def voted? user
real_votes.count(:conditions => {:user_id => user.id}) > 0
end
def can_create? cuser
cuser and cuser.admin?
end
def can_update? cuser
cuser and cuser.admin?
end
def can_destroy? cuser
cuser and cuser.admin?
end
end