mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 05:01:14 +08:00
Better error message when new registration limit from an IP address is reached
This commit is contained in:
@ -1287,6 +1287,7 @@ en:
|
|||||||
blocked: "is not allowed."
|
blocked: "is not allowed."
|
||||||
ip_address:
|
ip_address:
|
||||||
blocked: "is blocked."
|
blocked: "is blocked."
|
||||||
|
max_new_accounts_per_registration_ip: "New registrations are not allowed from your IP address (maximum limit reached). Contact a staff member."
|
||||||
|
|
||||||
invite_mailer:
|
invite_mailer:
|
||||||
subject_template: "%{invitee_name} invited you to '%{topic_title}' on %{site_domain_name}"
|
subject_template: "%{invitee_name} invited you to '%{topic_title}' on %{site_domain_name}"
|
||||||
|
@ -4,10 +4,12 @@ class AllowedIpAddressValidator < ActiveModel::EachValidator
|
|||||||
|
|
||||||
def validate_each(record, attribute, value)
|
def validate_each(record, attribute, value)
|
||||||
if record.ip_address
|
if record.ip_address
|
||||||
if ScreenedIpAddress.should_block?(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'))
|
record.errors.add(attribute, options[:message] || I18n.t('user.ip_address.blocked'))
|
||||||
end
|
end
|
||||||
|
if record.trust_level == TrustLevel[0] && SpamHandler.should_prevent_registration_from_ip?(record.ip_address)
|
||||||
|
record.errors.add(attribute, I18n.t('user.ip_address.max_new_accounts_per_registration_ip'))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ describe AllowedIpAddressValidator do
|
|||||||
SpamHandler.stubs(:should_prevent_registration_from_ip?).returns(true)
|
SpamHandler.stubs(:should_prevent_registration_from_ip?).returns(true)
|
||||||
validate
|
validate
|
||||||
expect(record.errors[:ip_address]).to be_present
|
expect(record.errors[:ip_address]).to be_present
|
||||||
|
expect(record.errors[:ip_address][0]).to eq(I18n.t('user.ip_address.max_new_accounts_per_registration_ip'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user