mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 08:43:25 +08:00
9334d2f4f7
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by * `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`) * `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
class UserOptionSerializer < ApplicationSerializer
|
|
attributes :user_id,
|
|
:mailing_list_mode,
|
|
:mailing_list_mode_frequency,
|
|
:email_digests,
|
|
:email_level,
|
|
:email_messages_level,
|
|
:external_links_in_new_tab,
|
|
:dynamic_favicon,
|
|
:enable_quoting,
|
|
:disable_jump_reply,
|
|
:digest_after_minutes,
|
|
:automatically_unpin_topics,
|
|
:auto_track_topics_after_msecs,
|
|
:notification_level_when_replying,
|
|
:new_topic_duration_minutes,
|
|
:email_previous_replies,
|
|
:email_in_reply_to,
|
|
:like_notification_frequency,
|
|
:include_tl0_in_digests,
|
|
:theme_ids,
|
|
:theme_key_seq,
|
|
:allow_private_messages,
|
|
:homepage_id,
|
|
:hide_profile_and_presence,
|
|
:text_size,
|
|
:text_size_seq
|
|
|
|
def auto_track_topics_after_msecs
|
|
object.auto_track_topics_after_msecs || SiteSetting.default_other_auto_track_topics_after_msecs
|
|
end
|
|
|
|
def notification_level_when_replying
|
|
object.notification_level_when_replying || SiteSetting.default_other_notification_level_when_replying
|
|
end
|
|
|
|
def new_topic_duration_minutes
|
|
object.new_topic_duration_minutes || SiteSetting.default_other_new_topic_duration_minutes
|
|
end
|
|
|
|
def theme_ids
|
|
object.theme_ids.presence || [SiteSetting.default_theme_id]
|
|
end
|
|
|
|
end
|