Sha256: aa6a46ae20b79d67532a59f695a7afb0030fd834d438177eed9c43cff4e1afb4

Contents?: true

Size: 837 Bytes

Versions: 5

Compression:

Stored size: 837 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, Feature do |feature|
          can_manage_process?(feature.participatory_process)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
decidim-core-0.5.1 app/models/decidim/abilities/participatory_process_collaborator_ability.rb
decidim-0.5.1 decidim-core/app/models/decidim/abilities/participatory_process_collaborator_ability.rb
decidim-core-0.5.0 app/models/decidim/abilities/participatory_process_collaborator_ability.rb
decidim-0.5.0 decidim-core/app/models/decidim/abilities/participatory_process_collaborator_ability.rb
decidim-core-0.4.4 app/models/decidim/abilities/participatory_process_collaborator_ability.rb