diff options
author | Claire <claire.github-309c@sitedethib.com> | 2023-02-25 14:00:40 +0100 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2023-02-25 14:00:40 +0100 |
commit | 4ed09276d5267181061dff438a0b10770db9f226 (patch) | |
tree | cb8f358d58669626332ea01bcf0186d08b5eac90 /app/validators | |
parent | 45087c1092143e95dfcc85b6c9abc5c6c0a0a5c2 (diff) | |
parent | 730bb3e211a84a2f30e3e2bbeae3f77149824a68 (diff) |
Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `.prettierignore`: Upstream added a line at the end of the file, while glitch-soc had its own extra lines. Took upstream's change. - `CONTRIBUTING.md`: We have our custom CONTRIBUTING.md quoting upstream. Upstream made changes. Ported upstream changes. - `app/controllers/application_controller.rb`: Upstream made code style changes in a method that is entirely replaced in glitch-soc. Ignored the change. - `app/models/account.rb`: Code style changes textually close to glitch-soc-specific changes. Ported upstream changes. - `lib/sanitize_ext/sanitize_config.rb`: Upstream code style changes. Ignored them.
Diffstat (limited to 'app/validators')
-rw-r--r-- | app/validators/follow_limit_validator.rb | 1 | ||||
-rw-r--r-- | app/validators/html_validator.rb | 20 | ||||
-rw-r--r-- | app/validators/unreserved_username_validator.rb | 2 |
3 files changed, 3 insertions, 20 deletions
diff --git a/app/validators/follow_limit_validator.rb b/app/validators/follow_limit_validator.rb index 409bf0176..c619cb9a3 100644 --- a/app/validators/follow_limit_validator.rb +++ b/app/validators/follow_limit_validator.rb @@ -6,6 +6,7 @@ class FollowLimitValidator < ActiveModel::Validator def validate(follow) return if follow.account.nil? || !follow.account.local? + follow.errors.add(:base, I18n.t('users.follow_limit_reached', limit: self.class.limit_for_account(follow.account))) if limit_reached?(follow.account) end diff --git a/app/validators/html_validator.rb b/app/validators/html_validator.rb deleted file mode 100644 index b85b9769f..000000000 --- a/app/validators/html_validator.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -class HtmlValidator < ActiveModel::EachValidator - ERROR_RE = /Opening and ending tag mismatch|Unexpected end tag/ - - def validate_each(record, attribute, value) - return if value.blank? - - errors = html_errors(value) - - record.errors.add(attribute, I18n.t('html_validator.invalid_markup', error: errors.first.to_s)) unless errors.empty? - end - - private - - def html_errors(str) - fragment = Nokogiri::HTML.fragment(options[:wrap_with] ? "<#{options[:wrap_with]}>#{str}</#{options[:wrap_with]}>" : str) - fragment.errors.select { |error| ERROR_RE.match?(error.message) } - end -end diff --git a/app/validators/unreserved_username_validator.rb b/app/validators/unreserved_username_validator.rb index 974f3ba62..f82f4b91d 100644 --- a/app/validators/unreserved_username_validator.rb +++ b/app/validators/unreserved_username_validator.rb @@ -13,12 +13,14 @@ class UnreservedUsernameValidator < ActiveModel::Validator def pam_controlled? return false unless Devise.pam_authentication && Devise.pam_controlled_service + Rpam2.account(Devise.pam_controlled_service, @username).present? end def reserved_username? return true if pam_controlled? return false unless Setting.reserved_usernames + Setting.reserved_usernames.include?(@username.downcase) end end |