posts: warn when adding artist tag with no artist entry.
This commit is contained in:
@@ -1724,12 +1724,19 @@ class Post < ApplicationRecord
|
|||||||
def added_tags_are_valid
|
def added_tags_are_valid
|
||||||
new_tags = added_tags.select { |t| t.post_count <= 1 }
|
new_tags = added_tags.select { |t| t.post_count <= 1 }
|
||||||
new_general_tags = new_tags.select { |t| t.category == Tag.categories.general }
|
new_general_tags = new_tags.select { |t| t.category == Tag.categories.general }
|
||||||
|
new_artist_tags = new_tags.select { |t| t.category == Tag.categories.artist }
|
||||||
|
|
||||||
if new_general_tags.present?
|
if new_general_tags.present?
|
||||||
n = new_general_tags.size
|
n = new_general_tags.size
|
||||||
tag_wiki_links = new_general_tags.map { |tag| "[[#{tag.name}]]" }
|
tag_wiki_links = new_general_tags.map { |tag| "[[#{tag.name}]]" }
|
||||||
self.warnings[:base] << "Created #{n} new #{n == 1 ? "tag" : "tags"}: #{tag_wiki_links.join(", ")}"
|
self.warnings[:base] << "Created #{n} new #{n == 1 ? "tag" : "tags"}: #{tag_wiki_links.join(", ")}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
new_artist_tags.each do |tag|
|
||||||
|
if tag.artist.blank?
|
||||||
|
self.warnings[:base] << "Artist [[#{tag.name}]] requires an artist entry. \"Create new artist entry\":[/artists/new?name=#{CGI::escape(tag.name)}]"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ class Tag < ApplicationRecord
|
|||||||
attr_accessible :category, :as => [:moderator, :gold, :platinum, :member, :anonymous, :default, :builder, :admin]
|
attr_accessible :category, :as => [:moderator, :gold, :platinum, :member, :anonymous, :default, :builder, :admin]
|
||||||
attr_accessible :is_locked, :as => [:moderator, :admin]
|
attr_accessible :is_locked, :as => [:moderator, :admin]
|
||||||
has_one :wiki_page, :foreign_key => "title", :primary_key => "name"
|
has_one :wiki_page, :foreign_key => "title", :primary_key => "name"
|
||||||
|
has_one :artist, :foreign_key => "name", :primary_key => "name"
|
||||||
has_one :antecedent_alias, lambda {active}, :class_name => "TagAlias", :foreign_key => "antecedent_name", :primary_key => "name"
|
has_one :antecedent_alias, lambda {active}, :class_name => "TagAlias", :foreign_key => "antecedent_name", :primary_key => "name"
|
||||||
has_many :consequent_aliases, lambda {active}, :class_name => "TagAlias", :foreign_key => "consequent_name", :primary_key => "name"
|
has_many :consequent_aliases, lambda {active}, :class_name => "TagAlias", :foreign_key => "consequent_name", :primary_key => "name"
|
||||||
has_many :antecedent_implications, lambda {active}, :class_name => "TagImplication", :foreign_key => "antecedent_name", :primary_key => "name"
|
has_many :antecedent_implications, lambda {active}, :class_name => "TagImplication", :foreign_key => "antecedent_name", :primary_key => "name"
|
||||||
|
|||||||
Reference in New Issue
Block a user