# encoding: utf-8 class ArchiveFile include Mongoid::Document include Mongoid::Timestamps include Mongoid::MultiParameterAttributes include Mongoid::Sortable include OrbitModel::Status include OrbitTag::Taggable BelongsToCategory = :archive_file_category PAYMENT_TYPES = @site_valid_locales field :title, localize: true field :create_user_id field :update_user_id # belongs_to :archive_file_category has_many :archive_file_multiples, :autosave => true, :dependent => :destroy accepts_nested_attributes_for :archive_file_multiples, :allow_destroy => true validates :title, :at_least_one => true after_save :save_archive_file_multiples # searchable do # text :titles do # title_translations.to_a.collect{|t| t[1]} # end # boolean :frontend_search do # !is_hidden # end # end def self.search( category_id = nil ) if category_id.to_s.size > 0 find(:all, :conditions => {archive_file_category_id: category_id}).desc( :is_top, :title ) else find(:all).desc( :is_top, :title) end end def self.widget_datas where( :is_hidden => false ).desc(:is_top, :title) end def get_file_icon( file_data ) file_icon = "#{file_data.split('.')[-1]}".html_safe end def save_archive_file_multiples self.archive_file_multiples.each do |t| if t.should_destroy t.destroy end end end end