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

Inherits:
Decidim::Abilities::UserManagerAbility show all
Defined in:
decidim-admin/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 Attribute Summary

Attributes inherited from Decidim::Abilities::UserManagerAbility

#user

Instance Method Summary collapse

Methods inherited from Decidim::Abilities::UserManagerAbility

#initialize, #not_admin?, #user_manager?

Constructor Details

This class inherits a constructor from Decidim::Abilities::UserManagerAbility

Instance Method Details

#define_abilitiesObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'decidim-admin/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.empty?
  end
  can :promote, Decidim::User do |user_to_promote|
    user_to_promote.managed? && Decidim::ImpersonationLog.active.empty?
  end
end