Class: Decidim::Admin::Abilities::UserManagerAbility

Inherits:
Decidim::Abilities::UserManagerAbility
  • Object
show all
Defined in:
app/models/decidim/admin/abilities/user_manager_ability.rb

Overview

Defines the abilities for a user with role ‘user_manager’ in the admin section. Intended to be used with ‘cancancan`.

Instance Method Summary collapse

Instance Method Details

#define_abilitiesObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/models/decidim/admin/abilities/user_manager_ability.rb', line 9

def define_abilities
  super

  can :manage, :managed_users

  cannot [:new, :create], :managed_users if empty_available_authorizations?

  can :impersonate, Decidim::User do |user_to_impersonate|
    user_to_impersonate.managed? && Decidim::ImpersonationLog.active.where(admin: user).empty?
  end

  can :promote, Decidim::User do |user_to_promote|
    user_to_promote.managed? && Decidim::ImpersonationLog.active.where(admin: user).empty?
  end
end