Sha256: 263f905212f3c8d7d1ea19bbdbdbcc9d3a04973f961a91b1916fa7ffb57013f7

Contents?: true

Size: 841 Bytes

Versions: 3

Compression:

Stored size: 841 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Abilities
    # Defines the abilities for a participatory process collaborator. Intended to be
    # used with `cancancan`.
    # This ability will not apply to organization admins.
    class ParticipatoryProcessCollaboratorAbility < ParticipatoryProcessRoleAbility
      # Overrides ParticipatoryProcessRoleAbility role method
      def role
        :collaborator
      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_collaborator_ability.rb
decidim-core-0.11.1 app/models/decidim/abilities/participatory_process_collaborator_ability.rb
decidim-core-0.11.0.pre1 app/models/decidim/abilities/participatory_process_collaborator_ability.rb