Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `README.md`: Upstream changed their README, we have a completely different one. Kept our README.
This commit is contained in:
		@@ -22,6 +22,16 @@ class Admin::AccountAction
 | 
			
		||||
 | 
			
		||||
  attr_reader :warning, :send_email_notification, :include_statuses
 | 
			
		||||
 | 
			
		||||
  alias send_email_notification? send_email_notification
 | 
			
		||||
  alias include_statuses? include_statuses
 | 
			
		||||
 | 
			
		||||
  def initialize(attributes = {})
 | 
			
		||||
    @send_email_notification = true
 | 
			
		||||
    @include_statuses        = true
 | 
			
		||||
 | 
			
		||||
    super
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def send_email_notification=(value)
 | 
			
		||||
    @send_email_notification = ActiveModel::Type::Boolean.new.cast(value)
 | 
			
		||||
  end
 | 
			
		||||
@@ -141,11 +151,11 @@ class Admin::AccountAction
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def warnable?
 | 
			
		||||
    send_email_notification && target_account.local?
 | 
			
		||||
    send_email_notification? && target_account.local?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def status_ids
 | 
			
		||||
    report.status_ids if with_report? && include_statuses
 | 
			
		||||
    report.status_ids if with_report? && include_statuses?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def reports
 | 
			
		||||
 
 | 
			
		||||
@@ -63,13 +63,6 @@ class Notification < ApplicationRecord
 | 
			
		||||
 | 
			
		||||
  scope :without_suspended, -> { joins(:from_account).merge(Account.without_suspended) }
 | 
			
		||||
 | 
			
		||||
  scope :browserable, ->(exclude_types = [], account_id = nil) {
 | 
			
		||||
    scope = all
 | 
			
		||||
    scope = where(from_account_id: account_id) if account_id.present?
 | 
			
		||||
    scope = scope.where(type: TYPES - exclude_types.map(&:to_sym)) unless exclude_types.empty?
 | 
			
		||||
    scope
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  def type
 | 
			
		||||
    @type ||= (super || LEGACY_TYPE_CLASS_MAP[activity_type]).to_sym
 | 
			
		||||
  end
 | 
			
		||||
@@ -90,6 +83,23 @@ class Notification < ApplicationRecord
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  class << self
 | 
			
		||||
    def browserable(types: [], exclude_types: [], from_account_id: nil)
 | 
			
		||||
      requested_types = begin
 | 
			
		||||
        if types.empty?
 | 
			
		||||
          TYPES
 | 
			
		||||
        else
 | 
			
		||||
          types.map(&:to_sym) & TYPES
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      requested_types -= exclude_types.map(&:to_sym)
 | 
			
		||||
 | 
			
		||||
      all.tap do |scope|
 | 
			
		||||
        scope.merge!(where(from_account_id: from_account_id)) if from_account_id.present?
 | 
			
		||||
        scope.merge!(where(type: requested_types)) unless requested_types.size == TYPES.size
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def preload_cache_collection_target_statuses(notifications, &_block)
 | 
			
		||||
      notifications.group_by(&:type).each do |type, grouped_notifications|
 | 
			
		||||
        associations = TARGET_STATUS_INCLUDES_BY_TYPE[type]
 | 
			
		||||
 
 | 
			
		||||
@@ -80,6 +80,10 @@ class PreviewCard < ApplicationRecord
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def requires_review?
 | 
			
		||||
    attributes['trendable'].nil? && (provider.nil? || provider.requires_review?)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def requires_review_notification?
 | 
			
		||||
    attributes['trendable'].nil? && (provider.nil? || provider.requires_review_notification?)
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
@@ -300,6 +300,10 @@ class Status < ApplicationRecord
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def requires_review?
 | 
			
		||||
    attributes['trendable'].nil? && account.requires_review?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def requires_review_notification?
 | 
			
		||||
    attributes['trendable'].nil? && account.requires_review_notification?
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user