diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-01-13 10:46:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-13 10:46:52 +0100 |
commit | 21a1a8ee887f82cb36b3d21011a0235e7bfc8e45 (patch) | |
tree | 38c6262948a0d1cd84b8a00e7d7901172428bc6e /app/models/admin | |
parent | a3a5aa159783c7361771a32b97030f05fb40e574 (diff) |
Fix crash when marking statuses as sensitive while some statuses are deleted (#22134)
* Do not offer to mark statuses as sensitive if there is no undeleted status with media attachments * Fix crash when marking statuses as sensitive while some statuses are deleted Fixes #21910 * Fix multiple strikes being created for a single report when selecting “Mark as sensitive” * Add tests
Diffstat (limited to 'app/models/admin')
-rw-r--r-- | app/models/admin/status_batch_action.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/app/models/admin/status_batch_action.rb b/app/models/admin/status_batch_action.rb index 0f019b854..39cd7d0eb 100644 --- a/app/models/admin/status_batch_action.rb +++ b/app/models/admin/status_batch_action.rb @@ -73,7 +73,7 @@ class Admin::StatusBatchAction # Can't use a transaction here because UpdateStatusService queues # Sidekiq jobs statuses.includes(:media_attachments, :preview_cards).find_each do |status| - next unless status.with_media? || status.with_preview_card? + next if status.discarded? || !(status.with_media? || status.with_preview_card?) authorize([:admin, status], :update?) @@ -89,15 +89,15 @@ class Admin::StatusBatchAction report.resolve!(current_account) log_action(:resolve, report) end - - @warning = target_account.strikes.create!( - action: :mark_statuses_as_sensitive, - account: current_account, - report: report, - status_ids: status_ids - ) end + @warning = target_account.strikes.create!( + action: :mark_statuses_as_sensitive, + account: current_account, + report: report, + status_ids: status_ids + ) + UserMailer.warning(target_account.user, @warning).deliver_later! if warnable? end |