Sha256: 62660a4a3177e2f3c636c11cf6ed69a58d714a96b0eb734e57b5441ed5efa246

Contents?: true

Size: 1.48 KB

Versions: 6

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

module Decidim
  # A controller that holds the logic to show ParticipatoryProcesses in a
  # public layout.
  class ParticipatoryProcessesController < Decidim::ApplicationController
    layout "layouts/decidim/participatory_process", only: [:show]

    before_action -> { extend NeedsParticipatoryProcess }, only: [:show]

    helper Decidim::AttachmentsHelper
    helper Decidim::ParticipatoryProcessHelper
    helper Decidim::IconHelper
    helper Decidim::WidgetUrlsHelper

    helper_method :collection, :promoted_participatory_processes, :participatory_processes, :stats

    def index
      authorize! :read, ParticipatoryProcess
      authorize! :read, ParticipatoryProcessGroup
    end

    def show
      authorize! :read, current_participatory_process
    end

    private

    def collection
      @collection ||= (participatory_processes.to_a + participatory_process_groups).flatten
    end

    def participatory_processes
      @participatory_processes ||= OrganizationPrioritizedParticipatoryProcesses.new(current_organization)
    end

    def promoted_participatory_processes
      @promoted_processes ||= participatory_processes | PromotedParticipatoryProcesses.new
    end

    def participatory_process_groups
      @process_groups ||= Decidim::ParticipatoryProcessGroup.where(organization: current_organization)
    end

    def stats
      @stats ||= ParticipatoryProcessStatsPresenter.new(participatory_process: current_participatory_process)
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
decidim-core-0.5.1 app/controllers/decidim/participatory_processes_controller.rb
decidim-0.5.1 decidim-core/app/controllers/decidim/participatory_processes_controller.rb
decidim-core-0.5.0 app/controllers/decidim/participatory_processes_controller.rb
decidim-0.5.0 decidim-core/app/controllers/decidim/participatory_processes_controller.rb
decidim-core-0.4.4 app/controllers/decidim/participatory_processes_controller.rb
decidim-core-0.4.3 app/controllers/decidim/participatory_processes_controller.rb