diff --git a/app/logical/approver_pruner.rb b/app/logical/approver_pruner.rb index bba3ffbf1..5216293c3 100644 --- a/app/logical/approver_pruner.rb +++ b/app/logical/approver_pruner.rb @@ -7,10 +7,8 @@ class ApproverPruner end def prune! - admin = User.admins.first - inactive_approvers.each do |user| - CurrentUser.scoped(admin, "127.0.0.1") do + CurrentUser.scoped(User.system, "127.0.0.1") do next if user.is_admin? janitor_trial = JanitorTrial.where(user_id: user.id).first diff --git a/app/logical/post_pruner.rb b/app/logical/post_pruner.rb index 9e75badbd..0f3ba378a 100644 --- a/app/logical/post_pruner.rb +++ b/app/logical/post_pruner.rb @@ -1,10 +1,4 @@ class PostPruner - attr_reader :admin - - def initialize - @admin = User.where(:level => User::Levels::ADMIN).first - end - def prune! Post.without_timeout do prune_pending! @@ -16,7 +10,7 @@ class PostPruner protected def prune_pending! - CurrentUser.scoped(admin, "127.0.0.1") do + CurrentUser.scoped(User.system, "127.0.0.1") do Post.where("is_deleted = ? and is_pending = ? and created_at < ?", false, true, 3.days.ago).each do |post| begin post.flag!("Unapproved in three days") @@ -29,7 +23,7 @@ protected end def prune_flagged! - CurrentUser.scoped(admin, "127.0.0.1") do + CurrentUser.scoped(User.system, "127.0.0.1") do Post.where("is_deleted = ? and is_flagged = ?", false, true).each do |post| if post.flags.unresolved.old.any? begin @@ -44,6 +38,6 @@ protected end def prune_mod_actions! - ModAction.destroy_all(["creator_id = ? and description like ?", admin.id, "deleted post %"]) + ModAction.destroy_all(["creator_id = ? and description like ?", User.system.id, "deleted post %"]) end end diff --git a/app/models/user.rb b/app/models/user.rb index 6c0ac9129..722e1f350 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -301,6 +301,10 @@ class User < ActiveRecord::Base extend ActiveSupport::Concern module ClassMethods + def system + Danbooru.config.system_user + end + def level_hash return { "Member" => Levels::MEMBER,