Sha256: e84cc212dc77369b3957de6815068e8952c1e942a7805a3cfeccd2e2ba5f8f34

Contents?: true

Size: 1.57 KB

Versions: 51

Compression:

Stored size: 1.57 KB

Contents

# frozen_string_literal: true

module Decidim
  module Conferences
    # This cell renders a collection of linked Participatory Space of current conference.
    # `model` is the current conference
    class LinkedParticipatorySpacesCell < Decidim::ViewModel
      include Decidim::ApplicationHelper
      include Decidim::CardHelper

      def show
        render
      end

      private

      def conference_spaces
        [conference_participatory_processes, conference_assemblies, conference_consultations].compact
      end

      def conference_participatory_processes
        return unless Decidim.participatory_space_manifests.map(&:name).include?(:participatory_processes)

        processes = model.linked_participatory_space_resources(:participatory_processes, "included_participatory_processes")
        return unless processes.any?

        processes
      end

      def conference_assemblies
        return unless Decidim.participatory_space_manifests.map(&:name).include?(:assemblies)

        assemblies = model.linked_participatory_space_resources(:assemblies, "included_assemblies")
        return unless assemblies.any?

        assemblies
      end

      def conference_consultations
        return unless Decidim.participatory_space_manifests.map(&:name).include?(:consultations)

        consultations = model.linked_participatory_space_resources(:consultations, "included_consultations")
        return unless consultations.any?

        consultations
      end

      def title(block_space)
        block_space.first.class.name.demodulize.tableize
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
decidim-conferences-0.27.9 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.8 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.7 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.6 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.10 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.9 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.5 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.8 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.4 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.3 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.7 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.5 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.2 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.1 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.4 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.0 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.3 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.0.rc2 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.27.0.rc1 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb
decidim-conferences-0.26.2 app/cells/decidim/conferences/linked_participatory_spaces_cell.rb