From 6c9d128b977f30eb079aa3d0e1d0873c68e78106 Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 12 Dec 2023 11:08:31 +0100 Subject: [PATCH] Fix user deletion [SCI-9868] --- app/models/user.rb | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 54c454875..8027b044e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -321,7 +321,6 @@ class User < ApplicationRecord has_many :hidden_repository_cell_reminders, dependent: :destroy before_validation :downcase_email! - before_destroy :destroy_notifications def name full_name @@ -635,25 +634,6 @@ class User < ApplicationRecord self.email = email.downcase end - def destroy_notifications - # Find all notifications where user is the only reference - # on the notification, and destroy all such notifications - # (user_notifications are destroyed when notification is - # destroyed). We try to do this efficiently (hence in_groups_of). - nids_all = notifications.pluck(:id) - nids_all.in_groups_of(1000, false) do |nids| - Notification - .where(id: nids) - .joins(:user_notifications) - .group('notifications.id') - .having('count(notification_id) <= 1') - .destroy_all - end - - # Now, simply destroy all user notification relations left - user_notifications.destroy_all - end - def clear_view_cache Rails.cache.delete_matched(%r{^views\/users\/#{id}-}) end