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