Merge branch 'master' into fix-mention-dmails
This commit is contained in:
@@ -25,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. Please reply to this message if you want to be reinstated."
|
||||
: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."
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -27,7 +27,7 @@ class BulkRevert
|
||||
end
|
||||
|
||||
def find_post_versions
|
||||
q = PostVersion.where("true")
|
||||
q = PostArchive.where("true")
|
||||
|
||||
if constraints[:user_name]
|
||||
constraints[:user_id] = User.find_by_name(constraints[:user_name]).try(:id)
|
||||
|
||||
@@ -34,7 +34,7 @@ module Moderator
|
||||
add_row(sums, Hash[User.where(last_ip_addr: ip_addrs).collect { |user| [user, 1] }])
|
||||
|
||||
add_row_id(sums, PoolArchive.where(updater_ip_addr: ip_addrs).group(:updater_id).count) if PoolArchive.enabled?
|
||||
add_row_id(sums, PostVersion.where(updater_ip_addr: ip_addrs).group(:updater_id).count)
|
||||
add_row_id(sums, PostArchive.where(updater_ip_addr: ip_addrs).group(:updater_id).count) if PostArchive.enabled?
|
||||
|
||||
sums
|
||||
end
|
||||
@@ -52,7 +52,7 @@ module Moderator
|
||||
add_row(sums, ArtistVersion.where(updater: users).group(:updater_ip_addr).count)
|
||||
add_row(sums, NoteVersion.where(updater: users).group(:updater_ip_addr).count)
|
||||
add_row(sums, PoolArchive.where(updater_id: users.map(&:id)).group(:updater_ip_addr).count) if PoolArchive.enabled?
|
||||
add_row(sums, PostVersion.where(updater_id: users.map(&:id)).group(:updater_ip_addr).count)
|
||||
add_row(sums, PostArchive.where(updater_id: users.map(&:id)).group(:updater_ip_addr).count) if PostArchive.enabled?
|
||||
add_row(sums, WikiPageVersion.where(updater: users).group(:updater_ip_addr).count)
|
||||
add_row(sums, Comment.where(creator: users).group(:ip_addr).count)
|
||||
add_row(sums, Dmail.where(from: users).group(:creator_ip_addr).count)
|
||||
|
||||
@@ -13,7 +13,7 @@ module Reports
|
||||
end
|
||||
|
||||
def mock_version(row)
|
||||
PostVersion.new.tap do |x|
|
||||
PostArchive.new.tap do |x|
|
||||
x.id = row["f"][0]["v"]
|
||||
x.post_id = row["f"][1]["v"]
|
||||
x.updated_at = Time.at(row["f"][2]["v"].to_f)
|
||||
|
||||
10
app/logical/user_name_validator.rb
Normal file
10
app/logical/user_name_validator.rb
Normal file
@@ -0,0 +1,10 @@
|
||||
class UserNameValidator < ActiveModel::EachValidator
|
||||
def validate_each(rec, attr, value)
|
||||
name = User.normalize_name(value)
|
||||
|
||||
rec.errors[attr] << "already exists" if User.find_by_name(name).present?
|
||||
rec.errors[attr] << "must be 2 to 100 characters long" if !name.length.between?(2, 100)
|
||||
rec.errors[attr] << "cannot have whitespace or colons" if name =~ /[[:space:]]|:/
|
||||
rec.errors[attr] << "cannot begin or end with an underscore" if name =~ /\A_|_\z/
|
||||
end
|
||||
end
|
||||
@@ -15,13 +15,13 @@ class UserRevert
|
||||
end
|
||||
|
||||
def validate!
|
||||
if PostVersion.where(updater_id: user_id).count > THRESHOLD
|
||||
if PostArchive.where(updater_id: user_id).count > THRESHOLD
|
||||
raise TooManyChangesError.new("This user has too many changes to be reverted")
|
||||
end
|
||||
end
|
||||
|
||||
def revert_post_changes
|
||||
PostVersion.where(updater_id: user_id).find_each do |x|
|
||||
PostArchive.where(updater_id: user_id).find_each do |x|
|
||||
x.undo!
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user