FEATURE: new 'maximum new user accounts per registration IP' site setting

This commit is contained in:
Régis Hanol
2014-11-17 12:04:29 +01:00
parent 78f6cea16c
commit 7641d88224
9 changed files with 67 additions and 18 deletions

View File

@@ -1,9 +1,14 @@
require_dependency "spam_handler"
class AllowedIpAddressValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
if record.ip_address and ScreenedIpAddress.should_block?(record.ip_address)
record.errors.add(attribute, options[:message] || I18n.t('user.ip_address.blocked'))
if record.ip_address
if ScreenedIpAddress.should_block?(record.ip_address) ||
(record.trust_level == TrustLevel[0] && SpamHandler.should_prevent_registration_from_ip?(record.ip_address))
record.errors.add(attribute, options[:message] || I18n.t('user.ip_address.blocked'))
end
end
end
end
end