From d2eb726962187226c85ef7f2ee1886cb0767bbd1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 27 Oct 2022 02:10:54 +0200 Subject: [PATCH] Fix notifications about deleted reports not being also deleted (#19475) * Fix notifications about deleted reports not being also deleted * Fix notification with empty report crashing web UI Fix #18909 --- .../features/notifications/components/notification.js | 4 ++++ app/models/report.rb | 1 + 2 files changed, 5 insertions(+) diff --git a/app/javascript/mastodon/features/notifications/components/notification.js b/app/javascript/mastodon/features/notifications/components/notification.js index 0af71418c..5974e378e 100644 --- a/app/javascript/mastodon/features/notifications/components/notification.js +++ b/app/javascript/mastodon/features/notifications/components/notification.js @@ -372,6 +372,10 @@ class Notification extends ImmutablePureComponent { renderAdminReport (notification, account, link) { const { intl, unread, report } = this.props; + if (!report) { + return null; + } + const targetAccount = report.get('target_account'); const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') }; const targetLink = ; diff --git a/app/models/report.rb b/app/models/report.rb index 42c869dd4..525d22ad5 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -33,6 +33,7 @@ class Report < ApplicationRecord belongs_to :assigned_account, class_name: 'Account', optional: true has_many :notes, class_name: 'ReportNote', foreign_key: :report_id, inverse_of: :report, dependent: :destroy + has_many :notifications, as: :activity, dependent: :destroy scope :unresolved, -> { where(action_taken_at: nil) } scope :resolved, -> { where.not(action_taken_at: nil) }