From 478d1b36a599ab6f7fdcf30c1a0b5dde69d0a137 Mon Sep 17 00:00:00 2001 From: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com> Date: Fri, 6 Mar 2020 15:35:30 -0500 Subject: [PATCH] Hide banished users vomit confirmations and delete vomit reactions on banish (#6507) [deploy] * Update to hide only banished users * Refactor and move into a model method * Delete vomits on banished users * Add tests for banishing users --- app/models/user.rb | 4 ++ app/services/moderator/banish_user.rb | 5 ++ .../internal/feedback_messages/index.html.erb | 2 +- spec/services/moderator/banish_user_spec.rb | 47 +++++++++++++++++++ 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 spec/services/moderator/banish_user_spec.rb diff --git a/app/models/user.rb b/app/models/user.rb index de2cdfdc2..af0f43edc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -413,6 +413,10 @@ class User < ApplicationRecord errors.add(:username, "has been banished.") if BanishedUser.exists?(username: username) end + def banished? + username.starts_with?("spam_") + end + def subscribe_to_mailchimp_newsletter return unless email.present? && email.include?("@") return if saved_changes["unconfirmed_email"] && saved_changes["confirmation_sent_at"] diff --git a/app/services/moderator/banish_user.rb b/app/services/moderator/banish_user.rb index 4743f56f7..ac0bd4890 100644 --- a/app/services/moderator/banish_user.rb +++ b/app/services/moderator/banish_user.rb @@ -22,6 +22,7 @@ module Moderator Users::CleanupChatChannels.call(user) user.remove_from_algolia_index reassign_and_bust_username + delete_vomit_reactions end private @@ -49,5 +50,9 @@ module Moderator user.update_columns(profile_image: "https://thepracticaldev.s3.amazonaws.com/i/99mvlsfu5tfj9m7ku25d.png") end + + def delete_vomit_reactions + Reaction.where(reactable: user, category: "vomit").delete_all + end end end diff --git a/app/views/internal/feedback_messages/index.html.erb b/app/views/internal/feedback_messages/index.html.erb index e93841578..216dc05f4 100644 --- a/app/views/internal/feedback_messages/index.html.erb +++ b/app/views/internal/feedback_messages/index.html.erb @@ -80,7 +80,7 @@