mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: Suggest current username for staged users (#13706)
If user had a staged account and logged in using a third party service a different username was suggested. This change will try to use the username given by the authentication provider first, then the current staged username and last suggest a new one.
This commit is contained in:
@@ -137,9 +137,18 @@ class Auth::Result
|
||||
return result
|
||||
end
|
||||
|
||||
suggested_username = UserNameSuggester.suggest(username_suggester_attributes)
|
||||
if email_valid && email.present?
|
||||
if username.present? && User.username_available?(username, email)
|
||||
suggested_username = username
|
||||
elsif staged_user = User.where(staged: true).find_by_email(email)
|
||||
suggested_username = staged_user.username
|
||||
end
|
||||
end
|
||||
|
||||
result = {
|
||||
email: email,
|
||||
username: UserNameSuggester.suggest(username_suggester_attributes),
|
||||
username: suggested_username,
|
||||
auth_provider: authenticator_name,
|
||||
email_valid: !!email_valid,
|
||||
can_edit_username: can_edit_username,
|
||||
|
||||
Reference in New Issue
Block a user