class Decidim::Meetings::MeetingsController

Exposes the meeting resource so users can view them

def context_params

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

def default_filter_params

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

def geocoded_meetings

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

def index

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

def meeting

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

def meetings

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

def search_klass

def search_klass
  MeetingSearch
end