Sha256: 9ec8fccb0f0ad38565959a70e8cd24a72df4bbc42d7609dfdd70e38d3dc545ed

Contents?: true

Size: 997 Bytes

Versions: 13

Compression:

Stored size: 997 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Meetings
    # Exposes the meeting resources as an .ics file so users can import them
    # to their favorite calendar app
    class CalendarsController < Decidim::Meetings::ApplicationController
      include FilterResource
      include ComponentFilterable

      layout false
      helper_method :meetings
      before_action :set_default_request_format
      skip_around_action :use_organization_time_zone

      def show
        render plain: CalendarRenderer.for(current_component, filter_params), content_type: "type/calendar"
      end

      def meeting_calendar
        send_data CalendarRenderer.for(meeting), content_type: "type/calendar", filename: "#{meeting.reference}.ics"
      end

      private

      def meeting
        @meeting ||= Decidim::Meetings::Meeting.where(component: current_component).find(params[:id])
      end

      def set_default_request_format
        request.format = :text
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
decidim-meetings-0.29.1 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.4 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.29.0 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.3 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.29.0.rc4 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.29.0.rc3 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.29.0.rc2 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.29.0.rc1 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.2 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.1 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.0 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.0.rc5 app/controllers/decidim/meetings/calendars_controller.rb
decidim-meetings-0.28.0.rc4 app/controllers/decidim/meetings/calendars_controller.rb