I don't think this feature it was ever used. It was introduced in commit49dec6061as part of a feature that was removed in commits1cd47da9dandc45a0bd8ac.
87 lines
2.1 KiB
Ruby
87 lines
2.1 KiB
Ruby
class Users::RegistrationsController < Devise::RegistrationsController
|
|
prepend_before_action :authenticate_scope!,
|
|
only: [:edit, :update, :destroy, :finish_signup, :do_finish_signup]
|
|
before_action :configure_permitted_parameters
|
|
|
|
invisible_captcha only: [:create], honeypot: :address, scope: :user
|
|
|
|
def new
|
|
super
|
|
end
|
|
|
|
def create
|
|
build_resource(sign_up_params)
|
|
resource.registering_from_web = true
|
|
|
|
if resource.valid?
|
|
super
|
|
else
|
|
render :new
|
|
end
|
|
end
|
|
|
|
def delete_form
|
|
build_resource({})
|
|
end
|
|
|
|
def delete
|
|
current_user.erase(erase_params[:erase_reason])
|
|
sign_out
|
|
redirect_to root_path, notice: t("devise.registrations.destroyed")
|
|
end
|
|
|
|
def success
|
|
end
|
|
|
|
def finish_signup
|
|
current_user.registering_with_oauth = false
|
|
current_user.email = current_user.oauth_email if current_user.email.blank?
|
|
current_user.validate
|
|
end
|
|
|
|
def do_finish_signup
|
|
current_user.registering_with_oauth = false
|
|
if current_user.update(sign_up_params)
|
|
current_user.send_oauth_confirmation_instructions
|
|
sign_in_and_redirect current_user, event: :authentication
|
|
else
|
|
render :finish_signup
|
|
end
|
|
end
|
|
|
|
def check_username
|
|
if User.find_by username: params[:username]
|
|
render json: { available: false,
|
|
message: t("devise_views.users.registrations.new.username_is_not_available") }
|
|
else
|
|
render json: { available: true,
|
|
message: t("devise_views.users.registrations.new.username_is_available") }
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def sign_up_params
|
|
params.require(:user).permit(allowed_params)
|
|
end
|
|
|
|
def allowed_params
|
|
[
|
|
:username, :email, :password,
|
|
:password_confirmation, :terms_of_service, :locale
|
|
]
|
|
end
|
|
|
|
def configure_permitted_parameters
|
|
devise_parameter_sanitizer.permit(:account_update, keys: [:email])
|
|
end
|
|
|
|
def erase_params
|
|
params.require(:user).permit(:erase_reason)
|
|
end
|
|
|
|
def after_inactive_sign_up_path_for(resource_or_scope)
|
|
users_sign_up_success_path
|
|
end
|
|
end
|