mirror of
https://github.com/mastodon/mastodon.git
synced 2024-11-26 23:41:52 +00:00
ad52b04a1c
Some checks failed
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.1) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / Libvips tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.1) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.1) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.1, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
138 lines
2.5 KiB
Ruby
138 lines
2.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module User::HasSettings
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
serialize :settings, coder: UserSettingsSerializer
|
|
end
|
|
|
|
def settings_attributes=(attributes)
|
|
settings.update(attributes)
|
|
end
|
|
|
|
def prefers_noindex?
|
|
settings['noindex']
|
|
end
|
|
|
|
def preferred_posting_language
|
|
valid_locale_cascade(settings['default_language'], locale, I18n.locale)
|
|
end
|
|
|
|
def setting_auto_play_gif
|
|
settings['web.auto_play']
|
|
end
|
|
|
|
def setting_default_sensitive
|
|
settings['default_sensitive']
|
|
end
|
|
|
|
def setting_boost_modal
|
|
settings['web.reblog_modal']
|
|
end
|
|
|
|
def setting_delete_modal
|
|
settings['web.delete_modal']
|
|
end
|
|
|
|
def setting_reduce_motion
|
|
settings['web.reduce_motion']
|
|
end
|
|
|
|
def setting_system_font_ui
|
|
settings['web.use_system_font']
|
|
end
|
|
|
|
def setting_noindex
|
|
settings['noindex']
|
|
end
|
|
|
|
def setting_theme
|
|
settings['theme']
|
|
end
|
|
|
|
def setting_display_media
|
|
settings['web.display_media']
|
|
end
|
|
|
|
def setting_expand_spoilers
|
|
settings['web.expand_content_warnings']
|
|
end
|
|
|
|
def setting_default_language
|
|
settings['default_language']
|
|
end
|
|
|
|
def setting_aggregate_reblogs
|
|
settings['aggregate_reblogs']
|
|
end
|
|
|
|
def setting_show_application
|
|
settings['show_application']
|
|
end
|
|
|
|
def setting_advanced_layout
|
|
settings['web.advanced_layout']
|
|
end
|
|
|
|
def setting_use_blurhash
|
|
settings['web.use_blurhash']
|
|
end
|
|
|
|
def setting_use_pending_items
|
|
settings['web.use_pending_items']
|
|
end
|
|
|
|
def setting_trends
|
|
settings['web.trends']
|
|
end
|
|
|
|
def setting_disable_swiping
|
|
settings['web.disable_swiping']
|
|
end
|
|
|
|
def setting_disable_hover_cards
|
|
settings['web.disable_hover_cards']
|
|
end
|
|
|
|
def setting_always_send_emails
|
|
settings['always_send_emails']
|
|
end
|
|
|
|
def setting_default_privacy
|
|
settings['default_privacy'] || (account.locked? ? 'private' : 'public')
|
|
end
|
|
|
|
def allows_report_emails?
|
|
settings['notification_emails.report']
|
|
end
|
|
|
|
def allows_pending_account_emails?
|
|
settings['notification_emails.pending_account']
|
|
end
|
|
|
|
def allows_appeal_emails?
|
|
settings['notification_emails.appeal']
|
|
end
|
|
|
|
def allows_trends_review_emails?
|
|
settings['notification_emails.trends']
|
|
end
|
|
|
|
def aggregates_reblogs?
|
|
settings['aggregate_reblogs']
|
|
end
|
|
|
|
def shows_application?
|
|
settings['show_application']
|
|
end
|
|
|
|
def show_all_media?
|
|
settings['web.display_media'] == 'show_all'
|
|
end
|
|
|
|
def hide_all_media?
|
|
settings['web.display_media'] == 'hide_all'
|
|
end
|
|
end
|