Sha256: 9e842430dae35cd4cd959e5b6ebef882ab48e500d6a62980f617c79a74ae5cc3

Contents?: true

Size: 942 Bytes

Versions: 46

Compression:

Stored size: 942 Bytes

Contents

# frozen_string_literal: true

module Decidim
  # This query finds the published components for all public participatory
  # spaces in the given organization. Can filter by manifest name.
  class PublicComponents < Rectify::Query
    def self.for(organization, manifest_name: nil)
      new(organization, manifest_name: manifest_name).query
    end

    def initialize(organization, manifest_name: nil)
      @organization = organization
      @manifest_name = manifest_name
    end

    def query
      results = Decidim::Component.where(participatory_space: public_spaces).published
      results = results.where(manifest_name: manifest_name) if manifest_name.present?
      results
    end

    private

    attr_reader :organization, :manifest_name

    def public_spaces
      Decidim.participatory_space_manifests.flat_map do |manifest|
        manifest.participatory_spaces.call(organization).public_spaces
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
decidim-core-0.26.10 app/queries/decidim/public_components.rb
decidim-core-0.26.9 app/queries/decidim/public_components.rb
decidim-core-0.26.8 app/queries/decidim/public_components.rb
decidim-core-0.26.7 app/queries/decidim/public_components.rb
decidim-core-0.26.5 app/queries/decidim/public_components.rb
decidim-core-0.26.4 app/queries/decidim/public_components.rb
decidim-core-0.26.3 app/queries/decidim/public_components.rb
decidim-core-0.26.2 app/queries/decidim/public_components.rb
decidim-core-0.26.1 app/queries/decidim/public_components.rb
decidim-core-0.26.0 app/queries/decidim/public_components.rb
decidim-core-0.26.0.rc2 app/queries/decidim/public_components.rb
decidim-core-0.26.0.rc1 app/queries/decidim/public_components.rb
decidim-core-0.25.2 app/queries/decidim/public_components.rb
decidim-core-0.25.1 app/queries/decidim/public_components.rb
decidim-core-0.25.0 app/queries/decidim/public_components.rb
decidim-core-0.25.0.rc4 app/queries/decidim/public_components.rb
decidim-core-0.25.0.rc3 app/queries/decidim/public_components.rb
decidim-core-0.25.0.rc2 app/queries/decidim/public_components.rb
decidim-core-0.25.0.rc1 app/queries/decidim/public_components.rb
decidim-core-0.24.3 app/queries/decidim/public_components.rb