Class: Wobauth::AdminAbility

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
app/models/wobauth/admin_ability.rb

Overview

AdminAbility - abilities for wobauth Mostly you have own abilities for your application. If you need access to Wobauth models for non admin users, there are some restrictions: i.e. navigate to Wobauth::User means AdminAbility is active and your abilities from your application are not visible. Or you may overwrite the default abilities for ‘Admin’, ‘OrgaAdmin’ or ‘UserAdmin’ To resolve this, extend Woauth::AdminAbility Example: role ‘UserAdmin’ should have only read access to all Wobauth models. Add a new method :user_admin to Wobauth::AdminAbility (separate file in your application) and define abilities for ‘UserAdmin’ there:

— file your_application/app/models/wobauth_ability.rb require ‘wobauth/admin_ability’ module Wobauth

class AdminAbility
  include CanCan::Ability
  def user_admin(rights_for)
    can :read, [Wobauth::User, Wobauth::Group, ...]
    can :whateverelse ....
  end
end

end


at least: don’t forget to load wobauth_ability.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ AdminAbility

Returns a new instance of AdminAbility.



32
33
34
35
36
37
# File 'app/models/wobauth/admin_ability.rb', line 32

def initialize(user)
  @user = user
  return if @user.nil?
  authorities = (@user.authorities + @user.group_authorities)
  add_abilities(authorities)
end