Sha256: 51f9c06da82e67cb5e5280645e9f5570d3bf655187f5a095f2d616a02e51c6f1

Contents?: true

Size: 1.03 KB

Versions: 10

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Decidim
  module Meetings
    # Exposes the live event of the meeting
    class LiveEventsController < Decidim::Meetings::ApplicationController
      layout "decidim/meetings/layouts/live_event"

      include Decidim::Meetings::PollsResources

      helper_method :live_meeting_embed_code
      before_action :add_additional_csp_directives, only: :show

      def show
        raise ActionController::RoutingError, "Not Found" unless meeting

        return if allowed_for_current_user?

        flash[:alert] = I18n.t("meeting.not_allowed", scope: "decidim.meetings")
        redirect_to(ResourceLocatorPresenter.new(meeting).index)
      end

      private

      def allowed_for_current_user?
        meeting.current_user_can_visit_meeting?(current_user) &&
          meeting.iframe_access_level_allowed_for_user?(current_user) &&
          meeting.live?
      end

      def live_meeting_embed_code
        MeetingIframeEmbedder.new(meeting.online_meeting_url).embed_code(request.host)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-meetings-0.30.0.rc3 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.30.0.rc2 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.30.0.rc1 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.2 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.1 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.0 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.0.rc4 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.0.rc3 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.0.rc2 app/controllers/decidim/meetings/live_events_controller.rb
decidim-meetings-0.29.0.rc1 app/controllers/decidim/meetings/live_events_controller.rb