Sha256: 2b445957b0e95bcbf3fa9ff1ee764286f47a32c93ab1124c22d91cded8a47b45

Contents?: true

Size: 887 Bytes

Versions: 6

Compression:

Stored size: 887 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    module Abilities
      module Admin
        # Defines the abilities for an assembly moderator user. Intended to be used
        # with `cancancan`.
        class AssemblyModeratorAbility < Decidim::Assemblies::Abilities::Admin::AssemblyRoleAbility
          def define_abilities
            super

            can [:index, :read], Assembly do |assembly|
              can_manage_assembly?(assembly)
            end

            can :manage, Moderation do |moderation|
              can_manage_assembly?(moderation.participatory_space)
            end

            can [:unreport, :hide], Reportable do |reportable|
              can_manage_assembly?(reportable.feature.participatory_space)
            end
          end

          def role
            :moderator
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-assemblies-0.10.1 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb
decidim-assemblies-0.10.0 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb
decidim-assemblies-0.9.3 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb
decidim-assemblies-0.9.2 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb
decidim-assemblies-0.9.1 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb
decidim-assemblies-0.9.0 app/models/decidim/assemblies/abilities/admin/assembly_moderator_ability.rb