mirror of
https://github.com/astuto/astuto.git
synced 2025-12-16 03:37:56 +01:00
* Add tour * Add instructions to set password for OAuth users * Tenant signup improvement * Fix bug on user soft delete * Slighlty darken background color * Add a stronger confirmation for board deletion
40 lines
1.3 KiB
Ruby
40 lines
1.3 KiB
Ruby
class RegistrationsController < Devise::RegistrationsController
|
|
# Needed to have Current.tenant available in Devise's controllers
|
|
prepend_before_action :load_tenant_data
|
|
before_action :load_oauths, only: [:new]
|
|
before_action :set_page_title_new, only: [:new]
|
|
before_action :set_page_title_edit, only: [:edit]
|
|
|
|
# Override destroy to soft delete
|
|
def destroy
|
|
resource.status = "deleted"
|
|
resource.email = "#{SecureRandom.alphanumeric(16)}@deleted.com"
|
|
resource.full_name = t('defaults.deleted_user_full_name')
|
|
resource.skip_confirmation
|
|
resource.save
|
|
Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name)
|
|
set_flash_message :notice, :destroyed
|
|
yield resource if block_given?
|
|
respond_with_navigational(resource){ redirect_to after_sign_out_path_for(resource_name) }
|
|
end
|
|
|
|
def send_set_password_instructions
|
|
user = User.find_by_email(params[:email])
|
|
|
|
if user.present?
|
|
user.send_reset_password_instructions
|
|
end
|
|
|
|
render json: { success: true } # always return true, even if user not found
|
|
end
|
|
|
|
private
|
|
|
|
def set_page_title_new
|
|
@page_title = t('common.forms.auth.sign_up')
|
|
end
|
|
|
|
def set_page_title_edit
|
|
@page_title = t('common.forms.auth.profile_settings')
|
|
end
|
|
end |