2018-11-29 16:28:20 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class Users::RegistrationsController < Devise::RegistrationsController
|
2019-02-01 20:34:11 -05:00
|
|
|
# TODO: do not skip
|
|
|
|
skip_after_action :verify_authorized, only: %i[create destroy]
|
2018-11-30 06:23:40 -05:00
|
|
|
|
2018-12-14 00:06:04 -05:00
|
|
|
prepend_before_action :check_captcha, only: :create
|
|
|
|
|
2018-11-29 16:28:20 -05:00
|
|
|
# GET /resource/sign_up
|
2018-12-14 00:00:19 -05:00
|
|
|
def new
|
2019-02-01 20:34:11 -05:00
|
|
|
authorize %i[users registration]
|
2018-12-14 00:00:19 -05:00
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# POST /resource
|
2018-12-14 00:00:19 -05:00
|
|
|
def create
|
2019-02-01 20:34:11 -05:00
|
|
|
authorize %i[users registration]
|
2018-12-14 00:00:19 -05:00
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# GET /resource/edit
|
2018-12-14 00:00:19 -05:00
|
|
|
def edit
|
2019-02-01 20:34:11 -05:00
|
|
|
authorize %i[users registration]
|
2018-12-14 00:00:19 -05:00
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# PUT /resource
|
2018-12-14 00:00:19 -05:00
|
|
|
def update
|
2019-02-01 20:34:11 -05:00
|
|
|
authorize %i[users registration]
|
2018-12-14 00:00:19 -05:00
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# DELETE /resource
|
2018-12-07 20:07:28 -05:00
|
|
|
def destroy
|
2018-12-11 20:29:46 -05:00
|
|
|
render_method_not_allowed
|
2018-12-07 20:07:28 -05:00
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# GET /resource/cancel
|
|
|
|
# Forces the session data which is usually expired after sign
|
|
|
|
# in to be expired now. This is useful if the user wants to
|
|
|
|
# cancel oauth signing in/up in the middle of the process,
|
|
|
|
# removing all OAuth session data.
|
2018-12-12 20:55:17 -05:00
|
|
|
def cancel
|
2019-02-01 20:34:11 -05:00
|
|
|
authorize %i[users registration]
|
2018-12-12 20:55:17 -05:00
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
2018-12-12 20:46:24 -05:00
|
|
|
protected
|
2018-11-29 16:28:20 -05:00
|
|
|
|
2019-02-01 17:46:05 -05:00
|
|
|
# Build a devise resource passing in the session.
|
|
|
|
# Useful to move temporary session data to the newly created user.
|
|
|
|
def build_resource(hash = {})
|
|
|
|
super
|
|
|
|
resource.account ||= current_account if current_account&.user.nil?
|
2019-09-04 17:50:04 -04:00
|
|
|
resource.account ||= Account.new
|
2019-02-01 17:46:05 -05:00
|
|
|
end
|
|
|
|
|
2018-11-29 16:28:20 -05:00
|
|
|
# The path used after sign up.
|
2018-12-14 00:00:19 -05:00
|
|
|
def after_sign_up_path_for(_resource)
|
|
|
|
super
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
|
|
|
|
# The path used after sign up for inactive accounts.
|
2018-12-14 00:00:19 -05:00
|
|
|
def after_inactive_sign_up_path_for(_resource)
|
|
|
|
super
|
|
|
|
end
|
2018-12-12 20:46:24 -05:00
|
|
|
|
|
|
|
# The default url to be used after updating a resource.
|
|
|
|
def after_update_path_for(_resource)
|
|
|
|
edit_user_registration_path
|
|
|
|
end
|
2018-12-14 00:06:04 -05:00
|
|
|
|
|
|
|
def check_captcha
|
|
|
|
return if verify_recaptcha
|
|
|
|
|
|
|
|
self.resource = resource_class.new sign_up_params
|
|
|
|
resource.validate
|
|
|
|
set_minimum_password_length
|
|
|
|
render :new
|
|
|
|
end
|
2018-11-29 16:28:20 -05:00
|
|
|
end
|