summaryrefslogtreecommitdiff
path: root/app/services
diff options
context:
space:
mode:
authorTimothy Andrew <mail@timothyandrew.net>2017-04-06 15:36:36 +0530
committerTimothy Andrew <mail@timothyandrew.net>2017-04-06 18:59:17 +0530
commit3e1a1242c67781fb52940433c5ad1bbefd346216 (patch)
tree5f45e1f2dfee8ac69c0ee6340e2cc01ac5273817 /app/services
parent682987547a932c011f84c6455f0fd32bb500b308 (diff)
downloadgitlab-ce-3e1a1242c67781fb52940433c5ad1bbefd346216.tar.gz
Move a user's award emoji to the ghost user
... when the user is destroyed. 1. Normally, for a given awardable and award emoji name, a user is only allowed to create a single award emoji. 2. This validation needs to be removed for ghost users, since: - User A and User B have created award emoji - with the same name and against the same awardable - User A is deleted. Their award emoji is moved to the ghost user - User B is deleted. Their award emoji needs to be moved to the ghost user. However, this breaks the uniqueness validation, since the ghost user is only allowed to have one award emoji of a given name for a given awardable
Diffstat (limited to 'app/services')
-rw-r--r--app/services/concerns/users/migrate_to_ghost_user.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/app/services/concerns/users/migrate_to_ghost_user.rb b/app/services/concerns/users/migrate_to_ghost_user.rb
index 5d1f0ff57d1..76335e45e54 100644
--- a/app/services/concerns/users/migrate_to_ghost_user.rb
+++ b/app/services/concerns/users/migrate_to_ghost_user.rb
@@ -23,6 +23,7 @@ module Users::MigrateToGhostUser
migrate_merge_requests(user)
migrate_notes(user)
migrate_abuse_reports(user)
+ migrate_award_emoji(user)
end
user.reload
@@ -45,4 +46,8 @@ module Users::MigrateToGhostUser
def migrate_abuse_reports(user)
AbuseReport.where(reporter_id: user.id).update_all(reporter_id: ghost_user.id)
end
+
+ def migrate_award_emoji(user)
+ user.award_emoji.update_all(user_id: ghost_user.id)
+ end
end