55 lines
1.1 KiB
Ruby
55 lines
1.1 KiB
Ruby
# encoding: utf-8
|
|
|
|
class Bulletin
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
include Mongoid::MultiParameterAttributes
|
|
|
|
# field :category_id, :type => Integer
|
|
field :title
|
|
field :subtitle
|
|
field :text
|
|
field :postdate , :type => Date
|
|
field :deadline , :type => Date
|
|
field :url
|
|
field :create_user_id
|
|
field :update_user_id
|
|
|
|
field :is_top, :type => Boolean, :default => false
|
|
|
|
mount_uploader :image, ImageUploader
|
|
|
|
belongs_to :bulletin_category
|
|
|
|
# embeds_many :bulletin_files
|
|
embeds_many :bulletin_files, :cascade_callbacks => true
|
|
|
|
# has_many :bulletin_files, :autosave => true, :dependent => :destroy
|
|
|
|
accepts_nested_attributes_for :bulletin_files, :allow_destroy => true
|
|
|
|
validates_presence_of :title
|
|
|
|
after_save :save_bulletin_files
|
|
|
|
|
|
def self.search(search)
|
|
|
|
find(:all, :conditions => {title: search}).desc( :is_top, :postdate)
|
|
|
|
end
|
|
|
|
|
|
def is_top?
|
|
self.is_top
|
|
end
|
|
|
|
def save_bulletin_files
|
|
self.bulletin_files.each do |t|
|
|
if t.should_destroy
|
|
t.destroy
|
|
end
|
|
end
|
|
end
|
|
|
|
end |