2021-06-26 13:14:58 -04:00
|
|
|
#!/usr/bin/env ruby
|
2024-02-25 12:15:55 -05:00
|
|
|
# frozen_string_literal: true
|
2021-06-26 13:14:58 -04:00
|
|
|
|
|
|
|
require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'config', 'environment'))
|
|
|
|
|
|
|
|
UserStatus.find_each do |user_status|
|
|
|
|
user_status.update_column(:post_replacement_rejected_count, PostReplacement.rejected.for_user(user_status.user.id).count)
|
|
|
|
end
|
|
|
|
|
|
|
|
# post ids who have two replacements, one approved, one original
|
2023-12-03 09:36:37 -05:00
|
|
|
PostReplacement.where(status: %w[approved original]).group(:post_id)
|
|
|
|
.having("count(post_id) = 2").pluck(:post_id).each do |post_id|
|
2021-06-26 13:14:58 -04:00
|
|
|
replacements = PostReplacement.where(post_id: post_id).order(:status)
|
2022-01-03 11:55:01 -05:00
|
|
|
|
2021-06-26 13:14:58 -04:00
|
|
|
approved = replacements[0]
|
|
|
|
original = replacements[1]
|
|
|
|
|
2022-01-03 11:55:01 -05:00
|
|
|
# Don't double increment
|
2022-01-03 11:56:46 -05:00
|
|
|
next unless approved.uploader_id_on_approve.blank?
|
2022-01-03 11:55:01 -05:00
|
|
|
|
2021-06-26 13:14:58 -04:00
|
|
|
approved.uploader_id_on_approve = original.creator_id
|
|
|
|
approved.penalize_uploader_on_approve = true
|
|
|
|
approved.save!
|
|
|
|
|
|
|
|
user_status = UserStatus.for_user(original.creator_id)
|
|
|
|
user_status.update_all("own_post_replaced_count = own_post_replaced_count + 1")
|
|
|
|
user_status.update_all("own_post_replaced_penalize_count = own_post_replaced_penalize_count + 1")
|
|
|
|
end
|