From 71a3cc89fdb257cb71cdebd51fa92ee9c8bcb8e1 Mon Sep 17 00:00:00 2001 From: evazion Date: Sun, 10 May 2020 20:35:42 -0500 Subject: [PATCH] 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!. --- app/logical/alias_and_implication_importer.rb | 10 ++-------- app/models/bulk_update_request.rb | 4 ++-- test/unit/alias_and_implication_importer_test.rb | 3 ++- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/app/logical/alias_and_implication_importer.rb b/app/logical/alias_and_implication_importer.rb index 415715a78..6285d6bd3 100644 --- a/app/logical/alias_and_implication_importer.rb +++ b/app/logical/alias_and_implication_importer.rb @@ -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 diff --git a/app/models/bulk_update_request.rb b/app/models/bulk_update_request.rb index e7719ebbc..eafcf7f6a 100644 --- a/app/models/bulk_update_request.rb +++ b/app/models/bulk_update_request.rb @@ -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 diff --git a/test/unit/alias_and_implication_importer_test.rb b/test/unit/alias_and_implication_importer_test.rb index 9b93d86c9..60c8a7f62 100644 --- a/test/unit/alias_and_implication_importer_test.rb +++ b/test/unit/alias_and_implication_importer_test.rb @@ -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