mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 18:23:46 +08:00
FIX: Resend activation email was busted
This commit is contained in:
parent
6646b23569
commit
e4287d9de9
|
@ -212,11 +212,14 @@ class ApplicationController < ActionController::Base
|
|||
Middleware::AnonymousCache.anon_cache(request.env, time_length)
|
||||
end
|
||||
|
||||
def fetch_user_from_params
|
||||
def fetch_user_from_params(opts=nil)
|
||||
opts ||= {}
|
||||
user = if params[:username]
|
||||
username_lower = params[:username].downcase
|
||||
username_lower.gsub!(/\.json$/, '')
|
||||
User.find_by(username_lower: username_lower, active: true)
|
||||
find_opts = {username_lower: username_lower}
|
||||
find_opts[:active] = true unless opts[:include_inactive]
|
||||
User.find_by(find_opts)
|
||||
elsif params[:external_id]
|
||||
SingleSignOnRecord.find_by(external_id: params[:external_id]).try(:user)
|
||||
end
|
||||
|
|
|
@ -312,7 +312,7 @@ class UsersController < ApplicationController
|
|||
end
|
||||
|
||||
def send_activation_email
|
||||
@user = fetch_user_from_params
|
||||
@user = fetch_user_from_params(include_inactive: true)
|
||||
@email_token = @user.email_tokens.unconfirmed.active.first
|
||||
enqueue_activation_email if @user
|
||||
render nothing: true
|
||||
|
|
|
@ -961,11 +961,7 @@ describe UsersController do
|
|||
|
||||
describe 'send_activation_email' do
|
||||
context 'for an existing user' do
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
before do
|
||||
UsersController.any_instance.stubs(:fetch_user_from_params).returns(user)
|
||||
end
|
||||
let(:user) { Fabricate(:user, active: false) }
|
||||
|
||||
context 'with a valid email_token' do
|
||||
it 'should send the activation email' do
|
||||
|
|
Loading…
Reference in New Issue
Block a user