# encoding: utf-8 class ArchiveExamFile include Mongoid::Document include Mongoid::Timestamps include OrbitCategory::Categorizable include OrbitModel::Status include OrbitTag::Taggable include Slug # include Tire::Model::Search # include Tire::Model::Callbacks # BelongsToCategory = :archive_exam_file_category # PAYMENT_TYPES = @site_valid_locales field :title, as: :slug_title, localize: true field :year field :create_user_id field :update_user_id field :postdate , :type => DateTime, :default => Time.now field :deadline , :type => DateTime field :uid, type: String field :sort_number, type: Integer field :rss2_sn field :archive_exam_test_type_id , :type => Array field :archive_exam_grade_id , :type => Array field :archive_exam_college_id , :type => Array field :archive_exam_department_id , :type => Array field :archive_exam_subject_id , :type => Array # scope :can_display,where(is_hidden: false) scope :can_display, ->{where(is_hidden: false).order_by(:is_top=>-1, :sort_number=>1, :title=>1)} # belongs_to :archive_exam_file_category has_many :archive_exam_file_multiples, :autosave => true, :dependent => :destroy accepts_nested_attributes_for :archive_exam_file_multiples, :allow_destroy => true # belongs_to :archive_exam_test_type # belongs_to :archive_exam_grade # belongs_to :archive_exam_college # belongs_to :archive_exam_department # belongs_to :archive_exam_subject # validates :title, :at_least_one => true after_save :save_archive_exam_file_multiples # def to_indexed_json # self.to_json # end # search_in :title # 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_exam_file_category_id: category_id}).desc( :is_top, :title ) # else # find(:all).desc( :is_top, :title) # end # end def self.get_test_types(category) @archive_exams = ArchiveExamFile.where(:category_id => category).asc(:archive_exam_test_type_id) test_types = [] @archive_exams.collect do |archvie| if !archvie.archive_exam_test_type_id.blank? @testtype = ArchiveExamTestType.find(archvie.archive_exam_test_type_id) if @testtype test_types << [@testtype.title,@testtype.id] end end end test_types.uniq end def self.find_by_param(input) self.find_by(uid: input) 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_exam_file_multiples self.archive_exam_file_multiples.each do |t| if t.should_destroy t.destroy end end end end