discourse/app/serializers/admin_email_template_serializer.rb

41 lines
908 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class AdminEmailTemplateSerializer < ApplicationSerializer
2015-11-21 01:30:04 +08:00
attributes :id, :title, :subject, :body, :can_revert?
def id
object
end
def title
if I18n.exists?("#{object}.title")
I18n.t("#{object}.title")
else
object.gsub(/.*\./, '').titleize
end
end
def subject
if I18n.exists?("#{object}.subject_template.other")
@subject = nil
else
@subject ||= I18n.t("#{object}.subject_template")
end
end
def body
2015-11-21 01:30:04 +08:00
@body ||= I18n.t("#{object}.text_body_template")
end
def can_revert?
2019-07-02 09:53:16 +08:00
subject_key = "#{object}.subject_template"
body_key = "#{object}.text_body_template"
keys = [subject_key, body_key]
if options[:overridden_keys]
keys.any? { |k| options[:overridden_keys].include?(k) }
else
TranslationOverride.exists?(locale: I18n.locale, translation_key: keys)
2015-11-21 01:30:04 +08:00
end
end
end