2019-07-02 08:10:25 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Auth::ConfirmationsController < Devise::ConfirmationsController
|
|
|
|
layout 'auth'
|
|
|
|
|
|
|
|
before_action :set_body_classes
|
2021-02-20 02:29:07 +00:00
|
|
|
before_action :require_unconfirmed!
|
2019-07-02 08:10:25 +01:00
|
|
|
before_action :set_user, only: [:finish_signup]
|
|
|
|
|
2021-02-20 02:29:07 +00:00
|
|
|
def require_unconfirmed!
|
|
|
|
redirect_to edit_user_registration_path if user_signed_in? && current_user.confirmed? && current_user.unconfirmed_email.blank?
|
|
|
|
end
|
|
|
|
|
2019-07-02 08:10:25 +01:00
|
|
|
def finish_signup
|
|
|
|
return unless request.patch? && params[:user]
|
2021-02-20 02:57:09 +00:00
|
|
|
@user.email = current_user.unconfirmed_email || current_user.email if user_signed_in?
|
2019-07-02 08:10:25 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def set_user
|
|
|
|
@user = current_user
|
|
|
|
end
|
|
|
|
|
|
|
|
def set_body_classes
|
2020-07-21 22:51:39 +01:00
|
|
|
@body_classes = ''
|
2019-07-02 08:10:25 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
def user_params
|
|
|
|
params.require(:user).permit(:email)
|
|
|
|
end
|
|
|
|
|
|
|
|
def after_confirmation_path_for(_resource_name, user)
|
|
|
|
if user.created_by_application && truthy_param?(:redirect_to_app)
|
|
|
|
user.created_by_application.redirect_uri
|
|
|
|
else
|
|
|
|
super
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|