Sha256: 30c23503ccd8cb5af4ad232a34503a79d303d11c30b23ced7980a70a1af6cb06

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true
require_dependency "decidim/application_controller"

module Decidim
  # A controller that holds the logic to show ParticipatoryProcesses in a
  # public layout.
  class ParticipatoryProcessesController < ApplicationController
    include NeedsParticipatoryProcess

    layout "layouts/decidim/participatory_process", only: [:show]

    skip_after_action :verify_participatory_process, only: [:index]

    helper Decidim::AttachmentsHelper
    helper Decidim::ParticipatoryProcessHelper
    helper Decidim::WidgetUrlsHelper
    helper_method :collection, :promoted_participatory_processes, :participatory_processes

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

    def show
      authorize! :read, current_participatory_process
    end

    private

    def collection
      @collection ||= public_processes.collection
    end

    def participatory_processes
      @participatory_processes ||= public_processes.participatory_processes
    end

    def promoted_participatory_processes
      @promoted_processes ||= participatory_processes.promoted
    end

    def public_processes
      @public_processes ||= PublicProcesses.new(current_organization)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-core-0.1.0 app/controllers/decidim/participatory_processes_controller.rb
decidim-core-0.0.8.1 app/controllers/decidim/participatory_processes_controller.rb