Sha256: 0d3a10b689279c5b128bacb20d7e3b08518179886e3eb2cfc972ac4db33e3d60

Contents?: true

Size: 1.71 KB

Versions: 38

Compression:

Stored size: 1.71 KB

Contents

# frozen_string_literal: true

module Decidim
  module Consultations
    # A controller that holds the logic to show consultations in a
    # public layout.
    class ConsultationsController < Decidim::Consultations::ApplicationController
      layout "layouts/decidim/consultation", only: :show

      include ParticipatorySpaceContext
      include NeedsConsultation
      include FilterResource
      include Paginable
      include Decidim::Consultations::Orderable

      helper_method :collection, :consultations, :finished_consultations, :active_consultations, :filter

      helper Decidim::FiltersHelper
      helper Decidim::OrdersHelper
      helper Decidim::SanitizeHelper
      helper Decidim::PaginateHelper
      helper Decidim::IconHelper
      helper Decidim::WidgetUrlsHelper
      helper Decidim::ResourceHelper

      def index
        enforce_permission_to :read, :consultation_list
      end

      def show
        enforce_permission_to :read, :consultation, consultation: current_consultation
      end

      private

      def current_participatory_space_manifest
        @current_participatory_space_manifest ||= Decidim.find_participatory_space_manifest(:consultations)
      end

      def consultations
        @consultations = search.results
        @consultations = reorder(@consultations)
        @consultations = paginate(@consultations)
      end

      alias collection consultations

      def search_klass
        ConsultationSearch
      end

      def default_filter_params
        {
          search_text: "",
          state: "all"
        }
      end

      def context_params
        {
          organization: current_organization,
          current_user: current_user
        }
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

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