diff --git a/app/logical/approver_pruner.rb b/app/logical/approver_pruner.rb index 5216293c3..cd2e81ef7 100644 --- a/app/logical/approver_pruner.rb +++ b/app/logical/approver_pruner.rb @@ -1,8 +1,10 @@ -class ApproverPruner +module ApproverPruner + extend self + def inactive_approvers User.where("bit_prefs & ? > 0", User.flag_value_for("can_approve_posts")).select do |user| approval_count = Post.where("created_at >= ? and approver_id = ?", 3.months.ago, user.id).count - approval_count == 0 + approval_count < 10 end end @@ -23,7 +25,7 @@ class ApproverPruner Dmail.create_automated( :to_id => user.id, :title => "Approver inactivity", - :body => "You haven't approved a post in the past three months. In order to make sure the list of active approvers is up-to-date, you have lost your approver privileges." + :body => "You've approved fewer than 10 posts in the past three months. In order to make sure the list of active approvers is up-to-date, you have lost your approval privileges. If you wish to dispute this, you can message an admin to have your permission reinstated." ) end end diff --git a/app/logical/weekly_maintenance.rb b/app/logical/weekly_maintenance.rb index 01cbdc68a..db19d0077 100644 --- a/app/logical/weekly_maintenance.rb +++ b/app/logical/weekly_maintenance.rb @@ -2,6 +2,7 @@ class WeeklyMaintenance def run ActiveRecord::Base.connection.execute("set statement_timeout = 0") UserPasswordResetNonce.prune! + ApproverPruner.prune! # JanitorPruner.new.prune! end end