Sha256: 7c3b917adea7ec373349f76badf2873ccb8174d9ff773ca5de037bfcf1c678bf

Contents?: true

Size: 1.5 KB

Versions: 7

Compression:

Stored size: 1.5 KB

Contents

# frozen_string_literal: true

module Decidim
  module Meetings
    # This cell renders the button to join a meeting.
    class JoinMeetingButtonCell < Decidim::ViewModel
      include MeetingCellsHelper
      include Decidim::SanitizeHelper
      include ActionView::Helpers::FormTagHelper
      include ActionView::Helpers::FormOptionsHelper

      def show
        return unless model.can_be_joined_by?(current_user) || model.on_different_platform?

        render
      end

      private

      delegate :current_user, to: :controller, prefix: false

      def current_component
        model.component
      end

      def button_classes
        "button button__xl button__secondary w-full"
      end

      def shows_remaining_slots?
        options[:show_remaining_slots] && model.available_slots.positive?
      end

      def i18n_join_text
        return I18n.t("join", scope: "decidim.meetings.meetings.show") if model.has_available_slots?

        I18n.t("no_slots_available", scope: "decidim.meetings.meetings.show")
      end

      def i18n_confirm_text
        I18n.t("confirm", scope: "decidim.meetings.meetings.registration_confirm")
      end

      def i18n_cancel_text
        I18n.t("cancel", scope: "decidim.meetings.meetings.registration_confirm")
      end

      def registration_terms_text
        decidim_sanitize_editor translated_attribute(model.registration_terms)
      end

      def registration_form
        @registration_form ||= Decidim::Meetings::JoinMeetingForm.new
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-meetings-0.28.4 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.3 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.2 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.1 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.0 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.0.rc5 app/cells/decidim/meetings/join_meeting_button_cell.rb
decidim-meetings-0.28.0.rc4 app/cells/decidim/meetings/join_meeting_button_cell.rb