forked from treehouse/mastodon
Disable notifications for trending links and trending statuses by default
parent
4eed5019a2
commit
c6df6686af
|
@ -58,7 +58,7 @@ class Settings::PreferencesController < Settings::BaseController
|
|||
:setting_use_pending_items,
|
||||
:setting_trends,
|
||||
:setting_crop_images,
|
||||
notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag),
|
||||
notification_emails: %i(follow follow_request reblog favourite mention digest report pending_account trending_tag trending_link trending_status),
|
||||
interactions: %i(must_be_follower must_be_following must_be_following_dm)
|
||||
)
|
||||
end
|
||||
|
|
|
@ -32,10 +32,13 @@ module Trends
|
|||
tags_requiring_review = tags.request_review
|
||||
statuses_requiring_review = statuses.request_review
|
||||
|
||||
return if links_requiring_review.empty? && tags_requiring_review.empty? && statuses_requiring_review.empty?
|
||||
|
||||
User.staff.includes(:account).find_each do |user|
|
||||
AdminMailer.new_trends(user.account, links_requiring_review, tags_requiring_review, statuses_requiring_review).deliver_later! if user.allows_trends_review_emails?
|
||||
links = user.allows_trending_tags_review_emails? ? links_requiring_review : []
|
||||
tags = user.allows_trending_links_review_emails? ? tags_requiring_review : []
|
||||
statuses = user.allows_trending_statuses_review_emails? ? statuses_requiring_review : []
|
||||
next if links.empty? && tags.empty? && statuses.empty?
|
||||
|
||||
AdminMailer.new_trends(user.account, links, tags, statuses).deliver_later!
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -269,10 +269,18 @@ class User < ApplicationRecord
|
|||
settings.notification_emails['appeal']
|
||||
end
|
||||
|
||||
def allows_trends_review_emails?
|
||||
def allows_trending_tags_review_emails?
|
||||
settings.notification_emails['trending_tag']
|
||||
end
|
||||
|
||||
def allows_trending_links_review_emails?
|
||||
settings.notification_emails['trending_link']
|
||||
end
|
||||
|
||||
def allows_trending_statuses_review_emails?
|
||||
settings.notification_emails['trending_status']
|
||||
end
|
||||
|
||||
def hides_network?
|
||||
@hides_network ||= settings.hide_network
|
||||
end
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
= ff.input :appeal, as: :boolean, wrapper: :with_label
|
||||
= ff.input :pending_account, as: :boolean, wrapper: :with_label
|
||||
= ff.input :trending_tag, as: :boolean, wrapper: :with_label
|
||||
= ff.input :trending_link, as: :boolean, wrapper: :with_label
|
||||
= ff.input :trending_status, as: :boolean, wrapper: :with_label
|
||||
|
||||
.fields-group
|
||||
= f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
|
||||
|
|
|
@ -18,3 +18,7 @@ en:
|
|||
setting_hide_followers_count: Hide your followers count
|
||||
setting_skin: Skin
|
||||
setting_system_emoji_font: Use system's default font for emojis (applies to Glitch flavour only)
|
||||
notification_emails:
|
||||
trending_tag: New trending tag requires review
|
||||
trending_link: New trending link requires review
|
||||
trending_status: New trending post requires review
|
||||
|
|
|
@ -52,6 +52,8 @@ defaults: &defaults
|
|||
report: true
|
||||
pending_account: true
|
||||
trending_tag: true
|
||||
trending_link: false
|
||||
trending_status: false
|
||||
appeal: true
|
||||
interactions:
|
||||
must_be_follower: false
|
||||
|
|
Loading…
Reference in New Issue