2012-01-11 12:31:52 +00:00
|
|
|
class BulletinFile
|
|
|
|
|
|
|
|
include Mongoid::Document
|
|
|
|
include Mongoid::Timestamps
|
|
|
|
|
|
|
|
mount_uploader :file, AssetUploader
|
|
|
|
|
2012-03-14 12:05:03 +00:00
|
|
|
# field :filetitle
|
|
|
|
# field :description
|
|
|
|
has_one :filetitle, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
|
|
|
has_one :description, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
|
2012-01-11 12:31:52 +00:00
|
|
|
|
|
|
|
# field :to_save, :type => Boolean
|
|
|
|
field :should_destroy, :type => Boolean
|
|
|
|
|
2012-03-14 12:05:03 +00:00
|
|
|
belongs_to :bulletin
|
|
|
|
# embedded_in :bulletin
|
|
|
|
|
2012-04-05 06:48:31 +00:00
|
|
|
before_save :set_key
|
|
|
|
|
|
|
|
def filetitle
|
|
|
|
@filetitle ||= I18nVariable.first(:conditions => {:key => 'filetitle', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
|
|
|
end
|
|
|
|
|
|
|
|
def description
|
|
|
|
@description ||= I18nVariable.first(:conditions => {:key => 'description', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
|
|
|
|
end
|
2012-03-14 12:05:03 +00:00
|
|
|
|
|
|
|
protected
|
|
|
|
|
|
|
|
def set_key
|
2012-05-18 11:42:36 +00:00
|
|
|
if filetitle && filetitle.new_record?
|
2012-03-14 12:05:03 +00:00
|
|
|
filetitle.key = 'filetitle'
|
|
|
|
end
|
2012-05-18 11:42:36 +00:00
|
|
|
if description && description.new_record?
|
2012-03-14 12:05:03 +00:00
|
|
|
description.key = 'description'
|
|
|
|
end
|
|
|
|
end
|
2012-01-11 12:31:52 +00:00
|
|
|
|
|
|
|
end
|