Sha256: f7376573e0f26af109a93957decc1a8805c00205620b83609b0e6e5f0b40c6a9

Contents?: true

Size: 643 Bytes

Versions: 3

Compression:

Stored size: 643 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Consultations
    module Abilities
      # Defines the base abilities related to consultations for any user. Guest
      # users will use these too. Intended to be used with `cancancan`.
      class EveryoneAbility < Decidim::Abilities::EveryoneAbility
        def initialize(user, context)
          super(user, context)

          can :read, Consultation do |consultation|
            consultation.published? || user&.admin?
          end

          can :read, Question do |question|
            question.published? || user&.admin?
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
decidim-consultations-0.11.2 app/models/decidim/consultations/abilities/everyone_ability.rb
decidim-consultations-0.11.1 app/models/decidim/consultations/abilities/everyone_ability.rb
decidim-consultations-0.11.0.pre1 app/models/decidim/consultations/abilities/everyone_ability.rb