Fix #3363: Prevent setting tags to invalid categories.
This commit is contained in:
@@ -45,6 +45,10 @@ class TagCategory
|
||||
@@categories ||= Danbooru.config.full_tag_config_info.keys
|
||||
end
|
||||
|
||||
def category_ids
|
||||
@@categories ||= canonical_mapping.values
|
||||
end
|
||||
|
||||
def short_name_list
|
||||
@@short_name_list ||= short_name_mapping.keys
|
||||
end
|
||||
@@ -75,4 +79,4 @@ class TagCategory
|
||||
extend Mappings
|
||||
extend Lists
|
||||
extend Regexes
|
||||
end
|
||||
end
|
||||
|
||||
@@ -12,6 +12,7 @@ class Tag < ApplicationRecord
|
||||
has_many :consequent_implications, lambda {active}, :class_name => "TagImplication", :foreign_key => "consequent_name", :primary_key => "name"
|
||||
|
||||
validates :name, uniqueness: true, tag_name: true, on: :create
|
||||
validates_inclusion_of :category, in: TagCategory.category_ids
|
||||
|
||||
module ApiMethods
|
||||
def to_legacy_json
|
||||
|
||||
Reference in New Issue
Block a user