From 452413a80e3aa78ace28e9230116c40386b2c9c8 Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Tue, 28 Aug 2018 14:58:00 -0700 Subject: [PATCH] eliminate monthly janitor trial messages --- app/logical/monthly_maintenance.rb | 1 - app/models/janitor_trial.rb | 30 ------------------------------ 2 files changed, 31 deletions(-) diff --git a/app/logical/monthly_maintenance.rb b/app/logical/monthly_maintenance.rb index b7c5959bb..bbdf76408 100644 --- a/app/logical/monthly_maintenance.rb +++ b/app/logical/monthly_maintenance.rb @@ -1,6 +1,5 @@ class MonthlyMaintenance def run ActiveRecord::Base.connection.execute("set statement_timeout = 0") - JanitorTrial.message_candidates! end end diff --git a/app/models/janitor_trial.rb b/app/models/janitor_trial.rb index 85755ad35..173442b75 100644 --- a/app/models/janitor_trial.rb +++ b/app/models/janitor_trial.rb @@ -22,36 +22,6 @@ class JanitorTrial < ApplicationRecord q.apply_default_order(params) end - def self.message_candidates! - admin = User.admins.first - n = 0 - - User.without_timeout do - User.where("last_logged_in_at >= ? and created_at <= ? and email is not null and (favorite_count >= 300 OR post_upload_count >= 300) and bit_prefs & ? = 0", 1.week.ago, 6.months.ago, User.flag_value_for("can_approve_posts")).find_each do |user| - if !Dmail.where("from_id = ? and to_id = ? and title = ?", admin.id, user.id, "Test Janitor Invitation").exists? - favorites = user.favorites.order("random()").limit(400).map(&:post_id) - uploads = user.posts.order("random()").limit(400).map(&:id) - p50 = ActiveRecord::Base.select_value_sql("select percentile_cont(0.50) within group (order by score) from posts where id in (?)", favorites + uploads).to_f - - if p50 > 3 - n += 1 - if n > 8 - break - end - - CurrentUser.scoped(admin, "127.0.0.1") do - body = <<-EOS - Janitors on #{Danbooru.config.app_name} are responsible for helping maintain a high level of quality on the site. They approve uploads from other users and help with other moderation efforts. You would be expected at a minimum to approve a few posts a week. If you are interested, please respond to this message. - EOS - - Dmail.create_split(:title => "Test Janitor Invitation", :body => body, :to_id => user.id) - end - end - end - end - end - end - def initialize_status self.status = "active" end