BURs: credit tag edits to DanbooruBot.
Credit tag edits that are performed as part of an alias, implication, or mass update to DanbooruBot instead of the admin who approved the BUR.
This commit is contained in:
@@ -156,7 +156,7 @@ private
|
|||||||
tag_implication.reject!(update_topic: false)
|
tag_implication.reject!(update_topic: false)
|
||||||
|
|
||||||
when :mass_update
|
when :mass_update
|
||||||
TagBatchChangeJob.perform_later(token[1], token[2], CurrentUser.user, CurrentUser.ip_addr)
|
TagBatchChangeJob.perform_later(token[1], token[2], User.system, "127.0.0.1")
|
||||||
|
|
||||||
when :change_category
|
when :change_category
|
||||||
tag = Tag.find_by_name(token[1])
|
tag = Tag.find_by_name(token[1])
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ class BulkUpdateRequest < ApplicationRecord
|
|||||||
transaction do
|
transaction do
|
||||||
CurrentUser.scoped(approver) do
|
CurrentUser.scoped(approver) do
|
||||||
AliasAndImplicationImporter.new(script, forum_topic_id, "1", true).process!
|
AliasAndImplicationImporter.new(script, forum_topic_id, "1", true).process!
|
||||||
update(status: "approved", approver: CurrentUser.user, skip_secondary_validations: true)
|
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}.", "APPROVED")
|
forum_updater.update("The #{bulk_update_request_link} (forum ##{forum_post.id}) has been approved by @#{approver.name}.", "APPROVED")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -56,15 +56,15 @@ class TagAlias < TagRelationship
|
|||||||
tries = 0
|
tries = 0
|
||||||
|
|
||||||
begin
|
begin
|
||||||
CurrentUser.scoped(approver) do
|
CurrentUser.scoped(User.system) do
|
||||||
update(status: "processing")
|
update!(status: "processing")
|
||||||
move_aliases_and_implications
|
move_aliases_and_implications
|
||||||
move_saved_searches
|
move_saved_searches
|
||||||
ensure_category_consistency
|
ensure_category_consistency
|
||||||
update_posts
|
update_posts
|
||||||
forum_updater.update(approval_message(approver), "APPROVED") if update_topic
|
forum_updater.update(approval_message(approver), "APPROVED") if update_topic
|
||||||
rename_wiki_and_artist
|
rename_wiki_and_artist
|
||||||
update(status: "active")
|
update!(status: "active")
|
||||||
end
|
end
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
if tries < 5
|
if tries < 5
|
||||||
@@ -141,9 +141,7 @@ class TagAlias < TagRelationship
|
|||||||
Post.raw_tag_match(antecedent_name).find_each do |post|
|
Post.raw_tag_match(antecedent_name).find_each do |post|
|
||||||
escaped_antecedent_name = Regexp.escape(antecedent_name)
|
escaped_antecedent_name = Regexp.escape(antecedent_name)
|
||||||
fixed_tags = post.tag_string.sub(/(?:\A| )#{escaped_antecedent_name}(?:\Z| )/, " #{consequent_name} ").strip
|
fixed_tags = post.tag_string.sub(/(?:\A| )#{escaped_antecedent_name}(?:\Z| )/, " #{consequent_name} ").strip
|
||||||
CurrentUser.scoped(creator, "127.0.0.1") do
|
post.update(tag_string: fixed_tags)
|
||||||
post.update(tag_string: fixed_tags)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -152,9 +150,7 @@ class TagAlias < TagRelationship
|
|||||||
antecedent_wiki = WikiPage.titled(antecedent_name).first
|
antecedent_wiki = WikiPage.titled(antecedent_name).first
|
||||||
if antecedent_wiki.present?
|
if antecedent_wiki.present?
|
||||||
if WikiPage.titled(consequent_name).blank?
|
if WikiPage.titled(consequent_name).blank?
|
||||||
CurrentUser.scoped(creator, "127.0.0.1") do
|
antecedent_wiki.update!(title: consequent_name, skip_secondary_validations: true)
|
||||||
antecedent_wiki.update(title: consequent_name, skip_secondary_validations: true)
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
forum_updater.update(conflict_message)
|
forum_updater.update(conflict_message)
|
||||||
end
|
end
|
||||||
@@ -162,9 +158,7 @@ class TagAlias < TagRelationship
|
|||||||
|
|
||||||
if antecedent_tag.category == Tag.categories.artist
|
if antecedent_tag.category == Tag.categories.artist
|
||||||
if antecedent_tag.artist.present? && consequent_tag.artist.blank?
|
if antecedent_tag.artist.present? && consequent_tag.artist.blank?
|
||||||
CurrentUser.scoped(creator, "127.0.0.1") do
|
antecedent_tag.artist.update!(name: consequent_name)
|
||||||
antecedent_tag.artist.update!(name: consequent_name)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class TagImplication < TagRelationship
|
|||||||
tries = 0
|
tries = 0
|
||||||
|
|
||||||
begin
|
begin
|
||||||
CurrentUser.scoped(approver) do
|
CurrentUser.scoped(User.system) do
|
||||||
update(status: "processing")
|
update(status: "processing")
|
||||||
update_posts
|
update_posts
|
||||||
update(status: "active")
|
update(status: "active")
|
||||||
@@ -159,9 +159,7 @@ class TagImplication < TagRelationship
|
|||||||
Post.without_timeout do
|
Post.without_timeout do
|
||||||
Post.raw_tag_match(antecedent_name).where("true /* TagImplication#update_posts */").find_each do |post|
|
Post.raw_tag_match(antecedent_name).where("true /* TagImplication#update_posts */").find_each do |post|
|
||||||
fixed_tags = "#{post.tag_string} #{descendant_names_string}".strip
|
fixed_tags = "#{post.tag_string} #{descendant_names_string}".strip
|
||||||
CurrentUser.scoped(creator, "127.0.0.1") do
|
post.update(tag_string: fixed_tags)
|
||||||
post.update(tag_string: fixed_tags)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user