Class: Admin::OtpSecretsController

Inherits:
AdminController show all
Defined in:
app/controllers/admin/otp_secrets_controller.rb

Instance Attribute Summary

Attributes included from PagesCore::Authentication

#current_user

Instance Method Summary collapse

Methods inherited from PagesCore::AdminController

#redirect, underscore

Methods included from PagesCore::StaticCacheController

#disable_static_cache!, #static_cached?

Methods included from PagesCore::PoliciesHelper

#policy, #verify_policy, #verify_policy_with_proc

Methods included from PagesCore::ProcessTitler

inc_number_of_requests, original_title

Methods included from PagesCore::LocalesHelper

#content_locale

Methods included from PagesCore::ErrorRenderer

#render_error

Methods included from PagesCore::Authentication

#authenticate!, #deauthenticate!, #logged_in?

Instance Method Details

#createObject



12
13
14
15
16
17
18
19
20
# File 'app/controllers/admin/otp_secrets_controller.rb', line 12

def create
  if @otp_secret.verify(otp_secret_params)
    @recovery_codes = @otp_secret.generate_recovery_codes
    @otp_secret.enable!(@recovery_codes)
  else
    flash[:error] = t("pages_core.otp.invalid_code")
    redirect_to new_admin_otp_secret_path
  end
end

#destroyObject



22
23
24
25
26
# File 'app/controllers/admin/otp_secrets_controller.rb', line 22

def destroy
  @otp_secret.disable!
  flash[:notice] = t("pages_core.otp.disabled")
  redirect_to edit_admin_user_path(current_user)
end

#newObject



8
9
10
# File 'app/controllers/admin/otp_secrets_controller.rb', line 8

def new
  @otp_secret.generate
end