This commit is contained in:
r888888888
2013-07-25 14:32:15 -07:00
parent 303d6ce821
commit c4bf6a9192
6 changed files with 52 additions and 37 deletions

View File

@@ -182,26 +182,28 @@ class Artist < ActiveRecord::Base
module BanMethods
def ban!
Post.transaction do
begin
Post.tag_match(name).each do |post|
begin
post.flag!("Artist requested removal")
rescue PostFlag::Error
# swallow
CurrentUser.without_safe_mode do
begin
Post.tag_match(name).each do |post|
begin
post.flag!("Artist requested removal")
rescue PostFlag::Error
# swallow
end
post.delete!(:ban => true)
end
post.delete!(:ban => true)
rescue Post::SearchError
# swallow
end
rescue Post::SearchError
# swallow
end
# potential race condition but unlikely
unless TagImplication.where(:antecedent_name => name, :consequent_name => "banned_artist").exists?
tag_implication = TagImplication.create(:antecedent_name => name, :consequent_name => "banned_artist")
tag_implication.delay(:queue => "default").process!
end
# potential race condition but unlikely
unless TagImplication.where(:antecedent_name => name, :consequent_name => "banned_artist").exists?
tag_implication = TagImplication.create(:antecedent_name => name, :consequent_name => "banned_artist")
tag_implication.delay(:queue => "default").process!
end
update_column(:is_banned, true)
update_column(:is_banned, true)
end
end
end
end