36 lines
918 B
Ruby
36 lines
918 B
Ruby
class UserFeedback < ActiveRecord::Base
|
|
set_table_name "user_feedback"
|
|
belongs_to :user
|
|
belongs_to :creator, :class_name => "User"
|
|
before_validation :initialize_creator, :on => :create
|
|
attr_accessible :body, :user_id, :category, :user_name
|
|
validates_presence_of :user, :creator, :body, :category
|
|
validate :creator_is_privileged
|
|
scope :positive, where("category = ?", "positive")
|
|
scope :neutral, where("category = ?", "neutral")
|
|
scope :negative, where("category = ?", "negative")
|
|
scope :for_user, lambda {|user_id| where("user_id = ?", user_id)}
|
|
|
|
def initialize_creator
|
|
self.creator_id = CurrentUser.id
|
|
end
|
|
|
|
def user_name
|
|
if user
|
|
user.name
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
def user_name=(name)
|
|
self.user_id = User.name_to_id(name)
|
|
end
|
|
|
|
def creator_is_privileged
|
|
if !creator.is_privileged?
|
|
errors[:creator] << "must be privileged"
|
|
end
|
|
end
|
|
end
|