Disable notifications for trending links and trending statuses by default
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user