Module: SpreeCmCommissioner::Billing::RoleAuthorization

Extended by:
ActiveSupport::Concern
Included in:
Spree::Billing::BaseController
Defined in:
app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb

Instance Method Summary collapse

Instance Method Details

#auth_actionObject



38
39
40
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 38

def auth_action
  action_name
end

#auth_entryObject



34
35
36
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 34

def auth_entry
  controller_path
end

#auth_userObject



28
29
30
31
32
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 28

def auth_user
  ActiveRecord::Base.connected_to(role: :writing) do
    try_spree_current_user
  end
end

#authorize!(_action, _object) ⇒ Object

override cancancan



24
25
26
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 24

def authorize!(_action, _object)
  authorize?
end

#authorize?Boolean



19
20
21
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 19

def authorize?
  auth_user.present? && (auth_user.admin? || auth_user.permissions.exists?(entry: auth_entry, action: auth_action))
end

#authorize_adminObject

overrided



15
16
17
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 15

def authorize_admin
  authorize_role!
end

#authorize_role!Object



10
11
12
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 10

def authorize_role!
  raise SpreeCmCommissioner::UnauthorizationError unless authorize?
end

#redirect_unauthorized_accessObject



42
43
44
45
46
47
48
49
50
# File 'app/controllers/concerns/spree_cm_commissioner/billing/role_authorization.rb', line 42

def redirect_unauthorized_access
  store_location # store current location in session for redirect after login

  if auth_user.nil?
    redirect_to spree.
  else
    redirect_to billing_forbidden_url
  end
end