diff --git a/app/assets/javascripts/uploads.js b/app/assets/javascripts/uploads.js
index c1a74f5ca..391f0e489 100644
--- a/app/assets/javascripts/uploads.js
+++ b/app/assets/javascripts/uploads.js
@@ -62,7 +62,7 @@
var new_artist_link = 'new';
if (data.danbooru_id) {
- $("#source-record").html('' + data.danbooru_name + '');
+ $("#source-record").html('' + data.danbooru_name + ' ' + new_artist_link);
} else {
$("#source-record").html(new_artist_link);
}
diff --git a/app/models/artist.rb b/app/models/artist.rb
index 89a1cd296..6a7eada16 100644
--- a/app/models/artist.rb
+++ b/app/models/artist.rb
@@ -3,6 +3,7 @@ class Artist < ActiveRecord::Base
before_save :normalize_name
after_save :create_version
after_save :save_url_string
+ after_create :categorize_tag
validates_uniqueness_of :name
belongs_to :creator, :class_name => "User"
has_many :members, :class_name => "Artist", :foreign_key => "group_name", :primary_key => "name"
@@ -10,6 +11,7 @@ class Artist < ActiveRecord::Base
has_many :versions, :order => "artist_versions.id ASC", :class_name => "ArtistVersion"
has_one :wiki_page, :foreign_key => "title", :primary_key => "name"
has_one :tag_alias, :foreign_key => "antecedent_name", :primary_key => "name"
+ has_one :tag, :foreign_key => "name", :primary_key => "name"
accepts_nested_attributes_for :wiki_page
attr_accessible :body, :name, :url_string, :other_names, :other_names_comma, :group_name, :wiki_page_attributes, :notes, :as => [:member, :gold, :builder, :platinum, :contributor, :janitor, :moderator, :default, :admin]
attr_accessible :is_active, :as => [:builder, :contributor, :janitor, :moderator, :default, :admin]
@@ -174,6 +176,10 @@ class Artist < ActiveRecord::Base
def tag_alias_name
TagAlias.find_by_antecedent_name(name).consequent_name
end
+
+ def categorize_tag
+ Tag.find_or_create_by_name("artist:#{name}")
+ end
end
module BanMethods
diff --git a/test/unit/artist_test.rb b/test/unit/artist_test.rb
index 561cff717..5de5b6e62 100644
--- a/test/unit/artist_test.rb
+++ b/test/unit/artist_test.rb
@@ -205,5 +205,12 @@ class ArtistTest < ActiveSupport::TestCase
artist.reload
assert_equal("yyy", artist.other_names)
end
+
+ should "update the category of the tag" do
+ tag = FactoryGirl.create(:tag, :name => "abc")
+ artist = FactoryGirl.create(:artist, :name => "abc")
+ tag.reload
+ assert_equal(Tag.categories.artist, tag.category)
+ end
end
end