41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
|
class AccountTokensController < ApplicationController
|
||
|
include LoginHelper
|
||
|
|
||
|
layout 'frontend'
|
||
|
|
||
|
ssl_required :enable, :resend
|
||
|
|
||
|
skip_before_filter :ensure_account_has_been_activated, :only => [ :enable, :resend ]
|
||
|
|
||
|
def enable
|
||
|
# Cleans session information, making sure that Warden authenticate runs the strategy. Check #10489.
|
||
|
cdb_logout
|
||
|
|
||
|
token = params[:id]
|
||
|
user = ::User.where(enable_account_token: token).first
|
||
|
render(file: 'signup/account_already_enabled', status: 404) and return unless user
|
||
|
|
||
|
authenticate!(:enable_account_token, scope: params[:user_domain].present? ? params[:user_domain] : user.username)
|
||
|
|
||
|
@user = user.reload
|
||
|
@organization = @user.organization
|
||
|
@destination_url = CartoDB.url(self, 'dashboard', user: @user)
|
||
|
|
||
|
flash.now[:success] = 'Account enabled, yikes!'
|
||
|
render 'signup/account_enabled'
|
||
|
end
|
||
|
|
||
|
def resend
|
||
|
user_id = params[:user_id]
|
||
|
render_404 and return unless user_id
|
||
|
@user = ::User.where(id: user_id).first
|
||
|
render_404 and return unless @user
|
||
|
|
||
|
@organization = @user.organization
|
||
|
@user.notify_new_organization_user
|
||
|
|
||
|
render 'signup/resend'
|
||
|
end
|
||
|
|
||
|
end
|