Class: Decidim::Admin::Abilities::ParticipatoryProcessAdmin
- Inherits:
-
Object
- Object
- Decidim::Admin::Abilities::ParticipatoryProcessAdmin
- Includes:
- CanCan::Ability
- Defined in:
- decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb
Overview
Defines the abilities for a participatory process admin in the admin section. Intended to be used with ‘cancancan`. This is not intended to extend the base `Decidim::Ability` class, it should only be used in the Admin engine.
This ability will not apply to organization admins.
Instance Method Summary collapse
-
#initialize(user, _context) ⇒ ParticipatoryProcessAdmin
constructor
A new instance of ParticipatoryProcessAdmin.
- #participatory_processes ⇒ Object
Constructor Details
#initialize(user, _context) ⇒ ParticipatoryProcessAdmin
Returns a new instance of ParticipatoryProcessAdmin.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb', line 15 def initialize(user, _context) @user = user return unless user && !user.role?(:admin) && !user.role?(:collaborator) can :read, :admin_dashboard do participatory_processes.any? end can :manage, ParticipatoryProcess do |process| participatory_processes.include?(process) end cannot :create, ParticipatoryProcess cannot :destroy, ParticipatoryProcess cannot :manage, :admin_users can :manage, ParticipatoryProcessUserRole do |role| role.user != user end can :manage, Moderation do |moderation| participatory_processes.include?(moderation.participatory_process) end can :manage, Attachment do || participatory_processes.include?(.attached_to) end can :manage, ParticipatoryProcessStep do |step| participatory_processes.include?(step.participatory_process) end can :manage, Feature do |feature| participatory_processes.include?(feature.participatory_process) end can :manage, Category do |category| participatory_processes.include?(category.participatory_process) end end |
Instance Method Details
#participatory_processes ⇒ Object
58 59 60 |
# File 'decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin.rb', line 58 def participatory_processes @participatory_processes ||= ManageableParticipatoryProcessesForUser.for(@user) end |