clear artist urls before saving url string (fixes #3731)
This commit is contained in:
@@ -181,11 +181,9 @@ class Artist < ApplicationRecord
|
|||||||
def save_urls
|
def save_urls
|
||||||
if url_string && saved_change_to_url_string?
|
if url_string && saved_change_to_url_string?
|
||||||
Artist.transaction do
|
Artist.transaction do
|
||||||
|
self.urls.clear
|
||||||
self.urls = url_string.scan(/[^[:space:]]+/).uniq.map do |url|
|
self.urls = url_string.scan(/[^[:space:]]+/).uniq.map do |url|
|
||||||
# need to do these shenanigans to properly handle prefixes
|
self.urls.find_or_create_by(url: url)
|
||||||
aurl = self.urls.find_or_create_by(url: ArtistUrl.strip_prefixes(url))
|
|
||||||
aurl.update(url: url)
|
|
||||||
aurl
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ class ArtistTest < ActiveSupport::TestCase
|
|||||||
refute(@artist.urls[0].is_active?)
|
refute(@artist.urls[0].is_active?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "allow activating a url" do
|
||||||
|
@artist = Artist.create(name: "blah", url_string: "-http://monet.com")
|
||||||
|
@artist.update(url_string: "http://monet.com")
|
||||||
|
assert_equal(1, @artist.urls.count)
|
||||||
|
assert(@artist.urls[0].is_active?)
|
||||||
|
end
|
||||||
|
|
||||||
should "should have a valid name" do
|
should "should have a valid name" do
|
||||||
@artist = Artist.new(:name => "-blah")
|
@artist = Artist.new(:name => "-blah")
|
||||||
@artist.save
|
@artist.save
|
||||||
|
|||||||
Reference in New Issue
Block a user