{% macro _render_protection_info(obj, disclaimers) %} {% if not obj.is_protected %} {% set mode = 'public' %} {% else %} {% set networks = obj.get_access_list()|selectattr('is_network')|map(attribute='name')|sort %} {% set mode = 'network' if networks else 'restricted' %} {% endif %} {% if mode == 'public' %} {% trans %}Public{% endtrans %} {% elif mode == 'network' %} {% trans count=networks|length, networks=networks|join('/') %} {{ networks }} network only {% pluralize %} {{ networks }} networks only {% endtrans %} {% elif mode == 'restricted' %} {% trans %}Restricted{% endtrans %} {% endif %} {% endmacro %} {% macro _render_timezone_selector(timezone_data) %} {% if timezone_data.disabled %} {{- timezone_data.active_tz_display -}} {% else %} {{ timezone_data.active_tz_display }} {% endif %} {% endmacro %} {% macro _render_user_settings(languages) %} {{ session.user.get_full_name(last_name_first=false, last_name_upper=false, abbrev_first_name=true) }} {% endmacro %} {% macro _render_language_selector(languages, lightweight=false) %} {% if lightweight %} {% trans lang=languages[session.lang] %}My language ({{ lang }}){% endtrans %} {% else %} {{ languages[session.lang] }} {% endif %} {% endmacro %} {% macro render_session_bar(protected_object, protection_disclaimers, timezone_data, languages) %} {% set is_protected = protected_object and protected_object.is_protected %}
{% if protected_object and (session.user or is_protected) %} {{ _render_protection_info(protected_object, protection_disclaimers) }} {% endif %} {{ _render_timezone_selector(timezone_data) }} {% if session.user %} {{ _render_user_settings(languages) }} {% else %} {{ _render_language_selector(languages) }} {% if not request.values.next and request.endpoint != config.MULTIPASS_LOGIN_ENDPOINT %} {% set after_login_url = request.relative_url %} {% else %} {% set after_login_url = request.values.next %} {% endif %} {%- trans %}Login{% endtrans -%} {% endif %}
{% endmacro %}