fixes #2203
This commit is contained in:
@@ -8,6 +8,7 @@ class DailyMaintenance
|
||||
Delayed::Job.delete_all(['created_at < ?', 7.days.ago])
|
||||
PostVote.delete_all(['created_at < ?', 1.month.ago])
|
||||
CommentVote.delete_all(['created_at < ?', 1.month.ago])
|
||||
UserUploadClamper.new.clamp_all!
|
||||
TagSubscription.process_all
|
||||
ApiCacheGenerator.new.generate_tag_cache
|
||||
end
|
||||
|
||||
22
app/logical/user_upload_clamper.rb
Normal file
22
app/logical/user_upload_clamper.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
class UserUploadClamper
|
||||
def clamp_all!
|
||||
users.each do |user|
|
||||
if clamp_user?(user)
|
||||
clamp_user!(user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def users
|
||||
User.where("post_upload_count >= 200 and (base_upload_limit > 10 or base_upload_limit is null) and level < ?", User::Levels::CONTRIBUTOR).limit(50)
|
||||
end
|
||||
|
||||
def clamp_user?(user)
|
||||
Reports::UserPromotions.deletion_confidence_interval_for(user) >= 25
|
||||
end
|
||||
|
||||
def clamp_user!(user)
|
||||
user.update_attribute(:base_upload_limit, -1)
|
||||
ModAction.create(:description => "user ##{user.id} (#{user.name}) clamped")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user