Class: Isaca::Rails::Platform::AdministratorsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/isaca/rails/platform/administrators_controller.rb

Instance Method Summary collapse

Methods included from Authorization

#authorize_isaca_user, #claim_symbols, #user_has_privilege?

Methods included from Authentication

#authenticate, #authenticate_isaca_user, #current_isaca_user, #isaca_requires_consent?, #isaca_sign_out, #redirect_after_sign_in_or, #redirect_for_consent?, #user_signed_in?

Instance Method Details

#administrator_paramsObject



65
66
67
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 65

def administrator_params
  params.require(:administrator).permit(:email)
end

#createObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 20

def create
  administrator = Isaca::Rails.configuration.user_model.find_by_email(administrator_params[:email])

  if administrator
    administrator.update_attribute(:admin, true)

    respond_to do |format|
      format.js
      format.html do
        redirect_to administrator_path(administrator), notice: t('isaca.rails.administrators.created')
      end
    end
  else
    respond_to do |format|
      format.js
      format.html do
        redirect_to new_administrator_path, alert: "#{t('isaca.rails.administrators.email_not_found')} #{administrator_params[:email]}"
      end
    end
  end
end

#destroyObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 42

def destroy
  administrator = Isaca::Rails.configuration.user_model.find(params[:id])

  if administrator
    administrator.update_attribute(:admin, false)
    administrator.claims.destroy_all

    respond_to do |format|
      format.js
      format.html do
        redirect_to administrators_path, notice: t('isaca.rails.administrators.deleted')
      end
    end
  else
    respond_to do |format|
      format.js
      format.html do
        redirect_to administrators_path, alert: t('isaca.rails.administrators.administrator_not_found')
      end
    end
  end
end

#editObject



12
13
14
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 12

def edit
  @administrator = Isaca::Rails.configuration.user_model.find(params[:id])
end

#indexObject



5
6
7
8
9
10
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 5

def index
  logger = Logger.new(STDOUT)
  logger.debug "**** Isaca Rails ****"
  logger.debug "**** Isaca Rails ****"
  @administrators = Isaca::Rails.configuration.user_model.where(admin: true)
end

#showObject



16
17
18
# File 'app/controllers/isaca/rails/platform/administrators_controller.rb', line 16

def show
  @administrator = Isaca::Rails.configuration.user_model.find(params[:id])
end