Fix #4470: Check URLs for duplicates when creating artists

Show a warning when creating a duplicate artist; that is, when adding a
URL that already belongs to another artist.

This is a soft warning rather than a hard error because there are some
cases where multiple artists legitimately share the same site or account.
This commit is contained in:
evazion
2022-03-18 16:40:22 -05:00
parent a78b6528dc
commit 912e996027
4 changed files with 36 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ class Artist < ApplicationRecord
validate :validate_artist_name
validates :name, tag_name: true, uniqueness: true
after_validation :add_url_warnings
before_save :update_tag_category
after_save :create_version
@@ -302,6 +303,12 @@ class Artist < ApplicationRecord
end
end
def add_url_warnings
urls.each do |url|
warnings.add(:base, url.warnings.full_messages.join("; ")) if url.warnings.any?
end
end
include UrlMethods
include VersionMethods
extend FactoryMethods