From: Andy Allan Date: Thu, 18 Jan 2024 10:49:52 +0000 (+0000) Subject: Merge pull request #4485 from tomhughes/drop-lower-index X-Git-Tag: live~1196 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/c9a86866bb6f2d0b41604078a0f05aadc5633f46?hp=-c Merge pull request #4485 from tomhughes/drop-lower-index Drop lowercase index on display names --- c9a86866bb6f2d0b41604078a0f05aadc5633f46 diff --combined app/models/user.rb index 7ca7b7a3b,8ed6d4465..7faf748cd --- a/app/models/user.rb +++ b/app/models/user.rb @@@ -37,7 -37,6 +37,6 @@@ # users_auth_idx (auth_provider,auth_uid) UNIQUE # users_display_name_canonical_idx (lower(NORMALIZE(display_name, NFKC))) # users_display_name_idx (display_name) UNIQUE - # users_display_name_lower_idx (lower((display_name)::text)) # users_email_idx (email) UNIQUE # users_email_lower_idx (lower((email)::text)) # users_home_idx (home_tile) @@@ -100,7 -99,6 +99,7 @@@ class User < ApplicationRecor validates :display_name, :if => proc { |u| u.display_name_changed? }, :characters => { :url_safe => true }, :whitespace => { :leading => false, :trailing => false } + validate :display_name_cannot_be_user_id_with_other_id, :if => proc { |u| u.display_name_changed? } validates :email, :presence => true, :confirmation => true, :characters => true validates :email, :if => proc { |u| u.email_changed? }, :uniqueness => { :case_sensitive => false } @@@ -125,12 -123,6 +124,12 @@@ before_save :update_tile after_save :spam_check + def display_name_cannot_be_user_id_with_other_id + display_name&.match(/^user_(\d+)$/i) do |m| + errors.add :display_name, I18n.t("activerecord.errors.messages.display_name_is_user_n") unless m[1].to_i == id + end + end + def to_param display_name end