BURs: don't try to move wikis/artists twice.
* Remove unnecessary rename_aliased_pages option. This option was always enabled. * Don't try to rename the artist and wiki page inside AliasAndImplicationImporter when an alias is approved. This is already handled by TagAlias#process!.
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
class AliasAndImplicationImporter
|
||||
class Error < RuntimeError; end
|
||||
attr_accessor :text, :commands, :forum_id, :rename_aliased_pages, :skip_secondary_validations
|
||||
attr_accessor :text, :commands, :forum_id, :skip_secondary_validations
|
||||
|
||||
def initialize(text, forum_id, rename_aliased_pages = "0", skip_secondary_validations = true)
|
||||
def initialize(text, forum_id, skip_secondary_validations = true)
|
||||
@forum_id = forum_id
|
||||
@text = text
|
||||
@rename_aliased_pages = rename_aliased_pages
|
||||
@skip_secondary_validations = skip_secondary_validations
|
||||
end
|
||||
|
||||
@@ -19,10 +18,6 @@ class AliasAndImplicationImporter
|
||||
validate(tokens)
|
||||
end
|
||||
|
||||
def rename_aliased_pages?
|
||||
@rename_aliased_pages == "1"
|
||||
end
|
||||
|
||||
def self.tokenize(text)
|
||||
text.split(/\r\n|\r|\n/).reject(&:blank?).map do |line|
|
||||
line = line.gsub(/[[:space:]]+/, " ").strip
|
||||
@@ -105,7 +100,6 @@ class AliasAndImplicationImporter
|
||||
unless tag_alias.valid?
|
||||
raise Error, "Error: #{tag_alias.errors.full_messages.join("; ")} (create alias #{tag_alias.antecedent_name} -> #{tag_alias.consequent_name})"
|
||||
end
|
||||
tag_alias.rename_wiki_and_artist if rename_aliased_pages?
|
||||
tag_alias.approve!(approver: approver)
|
||||
|
||||
when :create_implication
|
||||
|
||||
@@ -75,7 +75,7 @@ class BulkUpdateRequest < ApplicationRecord
|
||||
def approve!(approver)
|
||||
transaction do
|
||||
CurrentUser.scoped(approver) do
|
||||
AliasAndImplicationImporter.new(script, forum_topic_id, "1", true).process!
|
||||
AliasAndImplicationImporter.new(script, forum_topic_id, true).process!
|
||||
update!(status: "approved", approver: approver, skip_secondary_validations: true)
|
||||
forum_updater.update("The #{bulk_update_request_link} (forum ##{forum_post.id}) has been approved by @#{approver.name}.")
|
||||
end
|
||||
@@ -110,7 +110,7 @@ class BulkUpdateRequest < ApplicationRecord
|
||||
|
||||
module ValidationMethods
|
||||
def validate_script
|
||||
AliasAndImplicationImporter.new(script, forum_topic_id, "1", skip_secondary_validations).validate!
|
||||
AliasAndImplicationImporter.new(script, forum_topic_id, skip_secondary_validations).validate!
|
||||
rescue AliasAndImplicationImporter::Error => e
|
||||
errors[:base] << e.message
|
||||
end
|
||||
|
||||
@@ -92,8 +92,9 @@ class AliasAndImplicationImporterTest < ActiveSupport::TestCase
|
||||
tag2 = create(:tag, name: "bbb")
|
||||
wiki = create(:wiki_page, title: "aaa")
|
||||
artist = create(:artist, name: "aaa")
|
||||
@importer = AliasAndImplicationImporter.new("create alias aaa -> bbb", "", "1")
|
||||
@importer = AliasAndImplicationImporter.new("create alias aaa -> bbb", "")
|
||||
@importer.process!
|
||||
perform_enqueued_jobs
|
||||
assert_equal("bbb", artist.reload.name)
|
||||
assert_equal("bbb", wiki.reload.title)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user