class Email include Mongoid::Document include Mongoid::Timestamps field :module_app_key field :mail_from field :mail_to field :mail_reply_to field :mail_subject field :mail_content field :mail_sentdate , :type => DateTime, :default => Time.now field :mail_lang, :default => I18n.locale field :template # Path to template file field :template_data # Data to render template field :create_user_id field :update_user_id has_many :email_files, :autosave => true, :dependent => :destroy scope :can_deliver, ->{ where(:mail_sentdate.lte => Time.now) } def deliver OrbitMailer.set_mail(self).deliver end def module_app=(app) self.module_app_key = app.key end def module_app ModuleApp.find_by(:key=>self.module_app_key) rescue nil end def create_user=(user) self.create_user_id = user.id end def create_user User.find(self.create_user_id) rescue nil end def update_user=(user) self.update_user_id = user.id end def update_user User.find(self.update_user_id) rescue nil end end