{% extends "base.html" %} {% block title %}Voley — отметка посещения{% endblock %} {% block header %}Отметка посещения{% endblock %} {% block content %}
Выбранное воскресенье
{{ selected_date }}

Игроки

{{ players|length }} активн.
{% for player in players %} {% set present = present_map.get(player.id, False) %} {% include "partials/player_row.html" %} {% endfor %}
{# По умолчанию рендерим команды детерминированно (по алфавиту): #} {% set present_names = [] %} {% for player in players %} {% if present_map.get(player.id, False) %} {% set _ = present_names.append(player.name) %} {% endif %} {% endfor %} {% set count = present_names|length %} {% set mid = (count + 1) // 2 %} {% set team_a = present_names[:mid] %} {% set team_b = present_names[mid:] %} {% include "partials/teams.html" %}

График

{{ chart_title }}
{# SVG-график без JS/CDN — всегда отображается #} {% set max_v = (chart_values|max) if chart_values else 0 %} {% if max_v < 1 %}{% set max_v = 1 %}{% endif %} {% set n = chart_labels|length %} {# параметры области построения #} {% set padL = 16 %} {% set padR = 3 %} {% set padT = 8 %} {% set padB = 18 %} {% set plotW = 200 - padL - padR %} {% set plotH = 100 - padT - padB %} {% for p in [0,25,50,75,100] %} {% set y = padT + plotH - (plotH * p / 100) %} {{ (max_v * p / 100)|round|int }} {% endfor %} {% if n == 0 %} Нет данных {% else %} {% set barGap = 1.4 %} {% set slot = plotW / n %} {% set barW = slot - barGap %} {% if barW < 0.9 %}{% set barW = 0.9 %}{% endif %} {% for lab in chart_labels %} {% set i = loop.index0 %} {% set v = chart_values[i] %} {% set h = (v / max_v) * plotH %} {% set x = padL + (i * slot) + (barGap/2) %} {% set y = padT + plotH - h %} {% set cx = x + (barW/2) %} {{ lab }}: {{ v }} {# значение над столбцом (если место позволяет) #} {% if v > 0 and barW >= 2.2 %} {{ v }} {% endif %} {% if (i % chart_label_step) == 0 %} {% if chart_view == 'month' and lab|length == 10 %} {% set show = lab[8:10] ~ '.' ~ lab[5:7] %} {% elif chart_view == 'year' and lab|length == 7 %} {% set show = lab[5:7] %} {% else %} {% set show = lab %} {% endif %} {{ show }} {% endif %} {% endfor %} {% endif %}

Выгрузка данных

История посещений игроков по датам
Скачать Excel
{% endblock %} {% block scripts %} {% endblock %}