forked from saurabh/orbit4-5
52 lines
1.1 KiB
Ruby
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 |