diff --git a/models/site.rb b/models/site.rb index a307d774..770924a8 100644 --- a/models/site.rb +++ b/models/site.rb @@ -74,9 +74,12 @@ class Site < Sequel::Model # Check for existing user - user = self.class.select(:username).filter(username: values[:username]).first - if !user.nil? || (!new? && user.id != values[:id]) - errors.add :username, 'This username is already taken. Try using another one.' + user = self.class.select(:id, :username).filter(username: values[:username]).first + + if user + if user.id != values[:id] + errors.add :username, 'This username is already taken. Try using another one.' + end end if values[:password].nil? || (@password_length && @password_length < MINIMUM_PASSWORD_LENGTH)