diff --git a/app/logical/tag_name_validator.rb b/app/logical/tag_name_validator.rb index 1a48c53c9..c71d32852 100644 --- a/app/logical/tag_name_validator.rb +++ b/app/logical/tag_name_validator.rb @@ -10,7 +10,7 @@ class TagNameValidator < ActiveModel::EachValidator case value when /\A_*\z/ - record.errors.add(attribute, "'#{value}' cannot be blank") + record.errors.add(attribute, "cannot be blank") when /\*/ record.errors.add(attribute, "'#{value}' cannot contain asterisks ('*')") when /,/ diff --git a/app/models/artist.rb b/app/models/artist.rb index a9e1e3c4e..ef1e67e11 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -12,6 +12,7 @@ class Artist < ApplicationRecord validate :validate_tag_category validates :name, tag_name: true, uniqueness: true + before_save :update_tag_category after_save :create_version after_save :clear_url_string_changed @@ -155,7 +156,7 @@ class Artist < ApplicationRecord return unless !is_deleted? && name_changed? && tag.present? if tag.category_name != "Artist" && !tag.empty? - errors.add(:base, "'#{name}' is a #{tag.category_name.downcase} tag; artist entries can only be created for artist tags") + errors.add(:name, "'#{name}' is a #{tag.category_name.downcase} tag; artist entries can only be created for artist tags") end end diff --git a/app/views/artists/_form.html.erb b/app/views/artists/_form.html.erb index 8a72d56fb..8a1309627 100644 --- a/app/views/artists/_form.html.erb +++ b/app/views/artists/_form.html.erb @@ -5,7 +5,7 @@ <%= f.input :group_name %> <%= f.input :url_string, label: "URLs", as: :text, input_html: { value: params.dig(:artist, :url_string) || @artist.urls.join("\n")}, hint: "You can prefix a URL with - to mark it as dead." %> - <% if @artist.wiki_page.present? %> + <% if @artist.tag&.artist? && @artist.wiki_page.present? %>