Sha256: 65e475eb58380177e6c999984a1c311ecb3a6a4a23b9fc5a15e451b5728f2e50

Contents?: true

Size: 1.37 KB

Versions: 46

Compression:

Stored size: 1.37 KB

Contents

# frozen_string_literal: true

module Decidim
  module Meetings
    # Exposes the meeting resource so users can view them
    class MeetingsController < Decidim::Meetings::ApplicationController
      include FilterResource
      include Paginable
      helper Decidim::WidgetUrlsHelper

      helper_method :meetings, :geocoded_meetings, :meeting

      def index
        return unless search.results.empty? && params.dig("filter", "date") != "past"

        @past_meetings = search_klass.new(search_params.merge(date: "past"))
        unless @past_meetings.results.empty?
          params[:filter] ||= {}
          params[:filter][:date] = "past"
          @forced_past_meetings = true
          @search = @past_meetings
        end
      end

      private

      def meeting
        @meeting ||= Meeting.where(feature: current_feature).find(params[:id])
      end

      def meetings
        @meetings ||= paginate(search.results)
      end

      def geocoded_meetings
        @geocoded_meetings ||= search.results.select(&:geocoded?)
      end

      def search_klass
        MeetingSearch
      end

      def default_filter_params
        {
          date: "upcoming",
          search_text: "",
          scope_id: "",
          category_id: ""
        }
      end

      def context_params
        { feature: current_feature, organization: current_organization }
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
decidim-meetings-0.10.1 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.10.0 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.9.3 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.9.2 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.9.1 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.9.0 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.8.4 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.8.3 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.8.2 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.8.1 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.8.0 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.7.4 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.7.3 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.7.2 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.7.1 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.7.0 app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.6.8 app/controllers/decidim/meetings/meetings_controller.rb
decidim-0.6.8 decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb
decidim-meetings-0.6.7 app/controllers/decidim/meetings/meetings_controller.rb
decidim-0.6.7 decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb