Sha256: be3a7857a33ee0480cbee10c195a025386322b3f744f50099f9c73db1b2a3054

Contents?: true

Size: 909 Bytes

Versions: 54

Compression:

Stored size: 909 Bytes

Contents

#
# Support an email template for an account
#
class EmailTemplate < Template
  #
  # Fields
  #
  field :subject, type: String
  #
  # Callbacks
  #
  before_save :htmlize_template
  #
  # Validations
  #
  validates :subject, presence: true

  #
  # Make sure the template is wrapped in html
  def htmlize_template
    if template.present? && !template.strip.start_with?("<")
      self.template = "<body><pre>#{template}</pre></body>"
    end
  end

  def valid_liquid_template
    super && Liquid::Template.parse(self.subject).nil?
  rescue Exception => error
    self.errors.add(:subject, "Invalid liquid text in subject: #{error.message}")
    false
  end

  #
  # Copy the default from disk
  #
  def self.copy_default(name)
    template = EmailTemplate.new
    template.name = name
    template.template = from_file name
    template.subject = from_file name, prefix: 'subject'
    template
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
web47core-1.1.16 lib/app/models/email_template.rb
web47core-1.1.15 lib/app/models/email_template.rb
web47core-1.1.14 lib/app/models/email_template.rb
web47core-1.1.13 lib/app/models/email_template.rb
web47core-1.1.12 lib/app/models/email_template.rb
web47core-1.1.11 lib/app/models/email_template.rb
web47core-2.0.1 lib/app/models/email_template.rb
web47core-2.0.0 lib/app/models/email_template.rb
web47core-1.1.10 lib/app/models/email_template.rb
web47core-1.1.9 lib/app/models/email_template.rb
web47core-1.1.8 lib/app/models/email_template.rb
web47core-1.1.7 lib/app/models/email_template.rb
web47core-1.1.6 lib/app/models/email_template.rb
web47core-1.1.5 lib/app/models/email_template.rb
web47core-1.1.4 lib/app/models/email_template.rb
web47core-1.1.3 lib/app/models/email_template.rb
web47core-1.1.2 lib/app/models/email_template.rb
web47core-1.1.1 lib/app/models/email_template.rb
web47core-1.1.0 lib/app/models/email_template.rb
web47core-1.0.18 lib/app/models/email_template.rb