about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/models/status.rb2
-rw-r--r--app/services/delete_account_service.rb4
2 files changed, 4 insertions, 2 deletions
diff --git a/app/models/status.rb b/app/models/status.rb
index f1b3b75ce..96d90e1c2 100644
--- a/app/models/status.rb
+++ b/app/models/status.rb
@@ -56,7 +56,7 @@ class Status < ApplicationRecord
   belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true
   belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, optional: true
 
-  has_many :favourites, inverse_of: :status, dependent: :delete_all
+  has_many :favourites, inverse_of: :status, dependent: :destroy
   has_many :bookmarks, inverse_of: :status, dependent: :destroy
   has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog, dependent: :destroy
   has_many :replies, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :thread
diff --git a/app/services/delete_account_service.rb b/app/services/delete_account_service.rb
index fe9b30b17..fa834e775 100644
--- a/app/services/delete_account_service.rb
+++ b/app/services/delete_account_service.rb
@@ -123,7 +123,9 @@ class DeleteAccountService < BaseService
       next if @options[:reserve_username] && reported_status_ids.include?(poll.status_id)
 
       # We can safely delete the poll rather than destroy it, as any non-reported
-      # status should have been deleted already
+      # status should have been deleted already, as long as we take care of
+      # notifications.
+      Notification.where(poll: poll).delete_all
       poll.delete
     end