Sha256: 425a16d2c80be60018a1f247833007f5af9b3c0ed94abb4ca678cb7df7ad97a8

Contents?: true

Size: 820 Bytes

Versions: 3

Compression:

Stored size: 820 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Abilities
    # Defines the abilities for a participatory process admin. Intended to be
    # used with `cancancan`.
    # This ability will not apply to organization admins.
    class ParticipatoryProcessAdminAbility < ParticipatoryProcessRoleAbility
      # Overrides ParticipatoryProcessRoleAbility role method
      def role
        :admin
      end

      # Overrides ParticipatoryProcessRoleAbility define_participatory_process_abilities method
      def define_participatory_process_abilities
        super

        can :read, ParticipatoryProcess do |process|
          can_manage_process?(process)
        end

        can :read, Component do |component|
          can_manage_process?(component.participatory_space)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-core-0.11.2 app/models/decidim/abilities/participatory_process_admin_ability.rb
decidim-core-0.11.1 app/models/decidim/abilities/participatory_process_admin_ability.rb
decidim-core-0.11.0.pre1 app/models/decidim/abilities/participatory_process_admin_ability.rb