Sha256: f2dfd99fa91d8e5df31b4eb5c7c2c9992ab2cd645244ac50a9a5b815c09ab117
Contents?: true
Size: 918 Bytes
Versions: 4
Compression:
Stored size: 918 Bytes
Contents
# frozen_string_literal: true module Decidim module Initiatives module Abilities module Admin # Defines the abilities related to admin users able to administer # promotal committee membership requests. # Intended to be used with `cancancan`. class CommitteeAdminAbility include CanCan::Ability attr_reader :user, :context def initialize(user, context) return unless user&.admin? @user = user @context = context can :manage_membership, Decidim::Initiative can :index, InitiativesCommitteeMember can :approve, InitiativesCommitteeMember do |request| !request.accepted? end can :revoke, InitiativesCommitteeMember do |request| !request.rejected? end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems