This commit is contained in:
r888888888
2015-10-15 15:24:24 -07:00
parent 8a09151c14
commit 6480864718
30 changed files with 70 additions and 93 deletions

View File

@@ -229,7 +229,11 @@ class AnonymousUser
[]
end
%w(member banned gold builder platinum contributor janitor moderator admin).each do |name|
def can_upload_free?
false
end
%w(member banned gold builder platinum janitor moderator admin).each do |name|
define_method("is_#{name}?") do
false
end

View File

@@ -8,7 +8,6 @@ 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
PostDisapproval.prune!

View File

@@ -3,7 +3,7 @@ require 'statistics2'
module Reports
class Contributors < User
def users
::User.where("users.level >= ? and users.post_upload_count >= 250", ::User::Levels::CONTRIBUTOR).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
::User.where("users.bit_prefs & ? > 0 and users.post_upload_count >= 250", ::User.flag_value_for("can_upload_free")).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
end
end
end

View File

@@ -66,7 +66,7 @@ module Reports
end
def users
::User.where("users.level < ? and users.post_upload_count >= 250", ::User::Levels::CONTRIBUTOR).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
::User.where("users.bit_prefs & ? > 0 and users.post_upload_count >= 250", ::User.flag_value_for("can_upload_free")).order("created_at desc").map {|x| Reports::UserPromotions::User.new(x)}
end
end
end

View File

@@ -1,27 +0,0 @@
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 >= 5000 and base_upload_limit is null and level <= ?", User::Levels::CONTRIBUTOR).limit(50)
end
def clamp_user?(user)
Reports::UserPromotions.deletion_confidence_interval_for(user) >= 7
end
def clamp_user!(user)
upload_limit = (Post.for_user(user).deleted.where("is_banned = false").count / 4) + 10
user.update_attribute(:base_upload_limit, upload_limit)
CurrentUser.scoped(User.admins.first, "127.0.0.1") do
user.promote_to!(User::Levels::BUILDER) if user.is_contributor?
Dmail.create_split(:to_id => user.id, :title => "Post Upload Limit", :body => "You are receiving this message because a large percentage of your uploads are being deleted. For this reason you will now be limited to 10 uploads a day.")
ModAction.create(:description => "user ##{user.id} (#{user.name}) clamped")
end
end
end