{# Template pour les plannings #} {% set cols = event.getSpaces()|length +1 %} {# début du block de grille #}
{# Nombre de colonnes = nombre d'espaces + colonne d'intro #}
{# en-tête avec les noms des espaces #}
Espaces
{% for space in event.getSpaces() %}
{{ space.name }}
{% endfor %} {# On ajoute les horaires période par période #} {% for period in event.getPeriods() %}
Période du {{ period.startOn|date('d/m/Y H:i', app_timezone) }} à {{ period.endOn|date('H:i', app_timezone) }}
{# On affiche tous les slots de la période, space par space #} {% for dateRef in this.getDateOrdered(period) %}
{{ dateRef|date('H:i', app_timezone) }}
{% for space in event.getSpaces() %} {# extraction du slot de cet espace, ce moment et cette période #} {% set thisSlot = this.getThisSlot(dateRef, space, period) %} {# si le slot est Indisponible #} {% if thisSlot.unavailable %} {% if displayLocked %}
{% else %}
{% endif %} {% endif %} {# si une partie est sur le slot #} {% if thisSlot.party %} {% if thisSlot.party.isValidated or displayUnvalidates %} {% if thisSlot == thisSlot.party.slots[0] %} {# Premier slot d'une partie ou partie non validée #}
{# Carte "jeu" DEBUT #}
{% if pathFullSlot %}{% endif %}{{ thisSlot.party.game.name }}{% if pathFullSlot %}{% endif %}
@{{ thisSlot.party.gamemaster.preferedName }}{% if thisSlot.party.gamemasterIsAuthor %}
animée par l'auteur{% endif %}
Places : {{ thisSlot.party.getSeatsLeft }} / {{ thisSlot.party.getMaxParticipants }}
{# Carte "jeu" FIN #}
{% else %} {# Slot suivant d'une partie #}
{% endif %} {% else %} {# Partie non validée masquée #}
{% endif %} {% endif %} {# si le slot est disponible et sans partie #} {% if not thisSlot.unavailable and not thisSlot.party %} {% if pathEmptySlot %}
{% else %}
{% endif %} {% endif %} {% endfor %} {% endfor %} {% endfor %} {# fin du block de grille #}