FIX: Resend activation email was busted

This commit is contained in:
Robin Ward 2014-08-28 12:07:13 -04:00
parent aed0285bc6
commit c9262a8390
3 changed files with 7 additions and 8 deletions

View File

@ -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

View File

@ -302,7 +302,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

View File

@ -942,11 +942,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