Sha256: 9f47cdd0c59c801969b011d376d373d4c7d523e9e037c041e244f07aa8c90cc3
Contents?: true
Size: 764 Bytes
Versions: 3
Compression:
Stored size: 764 Bytes
Contents
# frozen_string_literal: true module Decidim module Consultations module Abilities module Admin # Defines the abilities related to user able to administer consultation's questions. # Intended to be used with `cancancan`. class QuestionAdminAbility include CanCan::Ability attr_reader :user, :context def initialize(user, context) return unless user&.admin? @user = user @context = context can :manage, Question cannot :publish, Question can :publish, Question do |question| question.external_voting || question.responses_count.positive? end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems