#1383: Remove banned_artist tag

This commit is contained in:
Toks
2014-03-07 20:21:07 -05:00
parent 0724f6ca06
commit 01b847d07f
3 changed files with 9 additions and 3 deletions

View File

@@ -205,16 +205,19 @@ class Artist < ActiveRecord::Base
def unban!
Post.transaction do
CurrentUser.without_safe_mode do
ti = TagImplication.where(:antecedent_name => name, :consequent_name => "banned_artist").first
ti.destroy if ti
begin
Post.tag_match(name).each do |post|
post.unban!
fixed_tags = post.tag_string.sub(/(?:\A| )banned_artist(?:\Z| )/, " ").strip
post.update_attributes(:tag_string => fixed_tags)
end
rescue Post::SearchError
# swallow
end
ti = TagImplication.where(:antecedent_name => name, :consequent_name => "banned_artist").first
ti.destroy if ti
update_column(:is_banned, false)
end
end

View File

@@ -22,7 +22,7 @@
<% end %>
<% if CurrentUser.is_admin? %>
<% if @artist.is_banned? %>
<li><%= link_to "unban", unban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to unban this artist?" %></li>
<li><%= link_to "Unban", unban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to unban this artist?" %></li>
<% else %>
<li><%= link_to "Ban", ban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to ban this artist?" %></li>

View File

@@ -7,6 +7,7 @@ class ArtistTest < ActiveSupport::TestCase
CurrentUser.user = user
CurrentUser.ip_addr = "127.0.0.1"
MEMCACHE.flush_all
Delayed::Worker.delay_jobs = false
end
teardown do
@@ -45,6 +46,7 @@ class ArtistTest < ActiveSupport::TestCase
@artist.reload
assert(!@artist.is_banned?, "artist should not be banned")
assert(!@post.is_banned?, "post should not be banned")
assert_equal("aaa", @post.tag_string)
end
should "ban the post" do
@@ -57,6 +59,7 @@ class ArtistTest < ActiveSupport::TestCase
should "create a new tag implication" do
assert_equal(1, TagImplication.where(:antecedent_name => "aaa", :consequent_name => "banned_artist").count)
assert_equal("aaa banned_artist", @post.tag_string)
end
end