class Decidim::Meetings::MeetingsController
Exposes the meeting resource so users can view them
def context_params
def context_params { component: current_component, organization: current_organization } end
def default_filter_params
def default_filter_params { date: "upcoming", search_text: "", scope_id: "", category_id: "" } end
def default_search_params
def default_search_params { scope: Meeting.visible_meeting_for(current_user) } end
def index
def index return unless search.results.blank? && params.dig("filter", "date") != "past" @past_meetings = search_klass.new(search_params.merge(date: "past")) if @past_meetings.results.present? params[:filter] ||= {} params[:filter][:date] = "past" @forced_past_meetings = true @search = @past_meetings end end
def meeting
def meeting @meeting ||= Meeting.where(component: current_component).find(params[:id]) end
def meetings
def meetings @meetings ||= paginate(search.results) end
def registration
def registration @registration ||= meeting.registrations.find_by(user: current_user) end
def search_klass
def search_klass MeetingSearch end
def show
def show return if meeting.current_user_can_visit_meeting?(current_user) flash[:alert] = I18n.t("meeting.not_allowed", scope: "decidim.meetings") redirect_to action: "index" end