Retrospring/app/controllers/user/registrations_controller.rb

41 lines
1.1 KiB
Ruby

# frozen_string_literal: true
class User::RegistrationsController < Devise::RegistrationsController
before_action :redirect_if_registrations_disabled!, only: %w[create new] # rubocop:disable Rails/LexicallyScopedActionFilter
def create
if captcha_valid?
super
else
respond_with_navigational(resource) { redirect_to new_user_registration_path }
end
end
def destroy
if resource.export_processing
flash[:error] = t(".export_pending")
redirect_to edit_user_registration_path
return
end
Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
resource.destroy
set_flash_message :notice, :destroyed if is_flashing_format?
yield resource if block_given?
respond_with_navigational(resource) { redirect_to after_sign_out_path_for(resource_name) }
end
private
def captcha_valid?
# If the captcha isn't enabled, treat it as being correct
return true unless APP_CONFIG.dig(:hcaptcha, :enabled)
verify_hcaptcha
end
def redirect_if_registrations_disabled!
redirect_to root_path unless Retrospring::Config.registrations_enabled?
end
end