{% extends "base.html" %} {% block title %}Monatsblatt {{ MONTH_NAMES[month-1] }} {{ year }} – KielZeit{% endblock %} {% block main_attrs %} class="wide"{% endblock %} {% block content %}

Monatsblatt — {{ user.display_name }} — {{ MONTH_NAMES[month-1] }} {{ year }}

{% set pm = month - 1 if month > 1 else 12 %}{% set py = year if month > 1 else year - 1 %} {% set nm = month + 1 if month < 12 else 1 %}{% set ny = year if month < 12 else year + 1 %} ‹ {{ MONTH_NAMES[pm-1] }} Summenblatt {{ year }} {{ MONTH_NAMES[nm-1] }} ›
{% for d in days %} {% set wd = d.date.weekday() %} {% endfor %}
DatumTypeinausPause IstSollSaldo KategorienBemerkung
{{ weekday_short[wd] }} {{ d.date.strftime('%d.%m.') }} {% if d.holiday %}{{ d.holiday }}{% endif %} {% if d.entry and d.day_type != 'arbeit' %}{{ DAY_TYPES[d.day_type] }}{% endif %} {{ fmt_hm(d.entry.start_min if d.entry else None) }} {{ fmt_hm(d.entry.end_min if d.entry else None) }} {{ fmt_hm(d.entry.pause_min if d.entry else None) }} {{ fmt_hm(d.ist) }} {{ fmt_hm(d.soll) if d.counted else fmt_hm(d.plan_soll) }} {% if d.counted %}{{ fmt_saldo(d.saldo) }}{% endif %} {% if d.entry %}{% for ec in d.entry.cats %}{{ ec.category.code }} {{ fmt_hm(ec.minutes) }}{% endfor %}{% endif %} {{ d.entry.note if d.entry else '' }}
Total (erfasste Tage) {{ fmt_hm(totals.ist, '0:00') }} {{ fmt_hm(totals.soll, '0:00') }} {{ fmt_saldo(totals.saldo_end) }}

Monats-Soll gesamt: {{ fmt_hm(totals.plan_soll, '0:00') }} · Urlaubstage: {{ totals.urlaub|round(1)|string|replace('.0','')|replace('.',',') }} · Saldo Monatsende: {{ fmt_saldo(totals.saldo_end) }} {% if totals.missing %} · ⚠ {{ totals.missing }} vergangene Arbeitstage ohne Eintrag{% endif %}

Kategorien im {{ MONTH_NAMES[month-1] }}

{% if cats %} {% for c, minutes in cats %} {% endfor %}
CodeBezeichnungStunden
{{ c.code }}{{ c.label }}{{ fmt_hm(minutes, '0:00') }}
Summe{{ fmt_hm(totals.cat, '0:00') }}
{% else %}

Keine Kategorien-Stunden erfasst.

{% endif %}
{% endblock %}