orbit4-5/app/models/email.rb

52 lines
1.1 KiB
Ruby

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