diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-06-05 22:22:08 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-06-05 22:22:08 +0300 |
commit | 7c23c6af6f185c6f1a41af4c46daf6d0fc41ee82 (patch) | |
tree | 1590d1719a597a12a9351216c879e970b46a32f5 /app/models | |
parent | 43dcb0afdbf1f1a80f94580301cbafc9dbd772e6 (diff) | |
parent | 2cbe716a54753757982a800d8196b0480d699504 (diff) |
Merge branch '28694-hard-delete-user-from-admin-panel' into 'master'
Allow users to be hard-deleted from the admin panel
Closes #28694
See merge request !11874
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/abuse_report.rb | 3 | ||||
-rw-r--r-- | app/models/spam_log.rb | 3 | ||||
-rw-r--r-- | app/models/user.rb | 5 |
3 files changed, 7 insertions, 4 deletions
diff --git a/app/models/abuse_report.rb b/app/models/abuse_report.rb index 0d7c2d20029..4cbd90c5817 100644 --- a/app/models/abuse_report.rb +++ b/app/models/abuse_report.rb @@ -15,8 +15,7 @@ class AbuseReport < ActiveRecord::Base alias_method :author, :reporter def remove_user(deleted_by:) - user.block - DeleteUserWorker.perform_async(deleted_by.id, user.id, delete_solo_owned_groups: true, hard_delete: true) + user.delete_async(deleted_by: deleted_by, params: { hard_delete: true }) end def notify diff --git a/app/models/spam_log.rb b/app/models/spam_log.rb index dd21ee15c6c..56a115d1db4 100644 --- a/app/models/spam_log.rb +++ b/app/models/spam_log.rb @@ -4,8 +4,7 @@ class SpamLog < ActiveRecord::Base validates :user, presence: true def remove_user(deleted_by:) - user.block - DeleteUserWorker.perform_async(deleted_by.id, user.id, delete_solo_owned_groups: true, hard_delete: true) + user.delete_async(deleted_by: deleted_by, params: { hard_delete: true }) end def text diff --git a/app/models/user.rb b/app/models/user.rb index e6eb9d09656..9ed42d6b6f5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -809,6 +809,11 @@ class User < ActiveRecord::Base system_hook_service.execute_hooks_for(self, :destroy) end + def delete_async(deleted_by:, params: {}) + block if params[:hard_delete] + DeleteUserWorker.perform_async(deleted_by.id, id, params) + end + def notification_service NotificationService.new end |