discourse/lib/validators/allowed_ip_address_validator.rb
Ted Johansson f9f9cf0bf4
DEV: Remove unreachable IP address validation message (#24131)
The message: :signup_not_allowed option to the IP address validator does nothing, because the AllowedIpAddressValidator chooses one of either:

- ip_address.blocked or
- ip_address.max_new_accounts_per_registration_ip

internally. This means that the translation for this was also never used.

This PR removes the ineffectual option and the unused translation. It also moves the translated error messages for blocked and max_new_accounts_per_registration_ip into the correct location so we can pass a symbol to ActiveModel::Errors#add.

There is no actual change in behaviour.
2023-10-27 15:22:38 +08:00

14 lines
493 B
Ruby

# frozen_string_literal: true
class AllowedIpAddressValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
if record.ip_address
record.errors.add(attribute, :blocked) if ScreenedIpAddress.should_block?(record.ip_address)
if record.trust_level == TrustLevel[0] &&
SpamHandler.should_prevent_registration_from_ip?(record.ip_address)
record.errors.add(attribute, :max_new_accounts_per_registration_ip)
end
end
end
end