{% macro render_join_button(vc_room, event_vc_room, show_logo=false, extra_classes='') %} {% set event = event_vc_room.event %} {% set plugin = vc_room.plugin %} {% set show_full_join_link = ( event_vc_room.data.password_visibility == 'everyone' or event.can_manage(session.user) or (session.user and event_vc_room.data.password_visibility == 'logged_in') or (session.user and event_vc_room.data.password_visibility == 'registered' and event.is_user_registered(session.user)) ) %} icon="lock" caption="{% trans %}Join{% endtrans %}" {% elif event_vc_room.data.password_visibility == 'registered' %} {% if session.user %} {% if event.type == 'conference' %} classes="blue {{ extra_classes }}" description="{% trans %}This Zoom Meeting can only be seen by registered participants{% endtrans %}" href="{{ url_for('event_registration.display_regform_list', event) }}" icon="ticket" caption="{% trans %}Please register{% endtrans %}" {% else %} classes="disabled {{ extra_classes }}" description="{% trans %}This Zoom Meeting can only be seen by registered participants{% endtrans %}" icon="ticket" caption="{% trans %}Registration required{% endtrans %}" {% endif %} {% else %} classes="blue {{ extra_classes }}" description="{% trans %}This Zoom Meeting can only be seen by registered participants{% endtrans %}" href="{{ url_for_login(request.relative_url) }}" icon="ticket" caption="{% trans %}Please log in and register{% endtrans %}" {% endif %} {% else %} classes="orange {{ extra_classes }}" description="{% trans %}This Zoom Meeting can only be seen by logged in users{% endtrans %}" href="{{ url_for_login(request.relative_url) }}" icon="lock" caption="{% trans %}Please log in{% endtrans %}" {% endif %} {% if session.user.identifier != vc_room.data['host'] and session.user.identifier not in vc_room.data.get('alternative_hosts', []) and event.can_manage(session.user) %} alt-host-url="{{ url_for_plugin('vc_zoom.make_me_alt_host', event_vc_room) }}" {% endif %} meeting-title="{{ vc_room.name }}" {% if show_logo %} meeting-data-html="{{ plugin.render_info_box(vc_room, event_vc_room, event) | escape }}" {% endif %} > {{ caller() if caller is defined }} {% endmacro %}