mirror of
https://github.com/discourse/discourse.git
synced 2025-09-06 10:50:21 +08:00
FEATURE: phase 1 of supporting multiple email addresses
This commit is contained in:
parent
739794f0cb
commit
d0b027d88d
35 changed files with 337 additions and 80 deletions
|
@ -311,7 +311,7 @@ class UsersController < ApplicationController
|
|||
return fail_with("login.reserved_username")
|
||||
end
|
||||
|
||||
if user = User.find_by(staged: true, email: params[:email].strip.downcase)
|
||||
if user = User.where(staged: true).with_email(params[:email].strip.downcase).first
|
||||
user_params.each { |k, v| user.send("#{k}=", v) }
|
||||
user.staged = false
|
||||
else
|
||||
|
@ -490,7 +490,7 @@ class UsersController < ApplicationController
|
|||
RateLimiter.new(nil, "admin-login-hr-#{request.remote_ip}", 6, 1.hour).performed!
|
||||
RateLimiter.new(nil, "admin-login-min-#{request.remote_ip}", 3, 1.minute).performed!
|
||||
|
||||
user = User.where(email: params[:email], admin: true).human_users.first
|
||||
user = User.with_email(params[:email]).where(admin: true).human_users.first
|
||||
if user
|
||||
email_token = user.email_tokens.create(email: user.email)
|
||||
Jobs.enqueue(:critical_user_email, type: :admin_login, user_id: user.id, email_token: email_token.token)
|
||||
|
@ -606,6 +606,7 @@ class UsersController < ApplicationController
|
|||
|
||||
User.transaction do
|
||||
@user.email = params[:email]
|
||||
|
||||
if @user.save
|
||||
@user.email_tokens.create(email: @user.email)
|
||||
enqueue_activation_email
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue