diff --git a/app/models/artist.rb b/app/models/artist.rb
index 1cb33042b..11e2309c2 100644
--- a/app/models/artist.rb
+++ b/app/models/artist.rb
@@ -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
diff --git a/app/views/artists/_secondary_links.html.erb b/app/views/artists/_secondary_links.html.erb
index 85857241d..3d929d606 100644
--- a/app/views/artists/_secondary_links.html.erb
+++ b/app/views/artists/_secondary_links.html.erb
@@ -22,7 +22,7 @@
<% end %>
<% if CurrentUser.is_admin? %>
<% if @artist.is_banned? %>
-
<%= link_to "unban", unban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to unban this artist?" %>
+ <%= link_to "Unban", unban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to unban this artist?" %>
<% else %>
<%= link_to "Ban", ban_artist_path(@artist), :method => :put, :confirm => "Are you sure you want to ban this artist?" %>
diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb
index cfa3255a3..0b81cb587 100644
--- a/test/unit/artist_test.rb
+++ b/test/unit/artist_test.rb
@@ -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