chore: initialize public repository
CI / checks (push) Has been cancelled

This commit is contained in:
maddin
2026-03-22 12:55:55 +00:00
commit 9794362f39
143 changed files with 19832 additions and 0 deletions
@@ -0,0 +1,101 @@
{% extends "base.html" %}
{% from "ui/card.html" import card %}
{% from "ui/button.html" import button, link_button %}
{% from "ui/form_field.html" import input_field %}
{% from "ui/page_header.html" import page_header %}
{% block title %}{{ title }}{% endblock %}
{% block content %}
{{ page_header(title, selected_date.strftime('%d.%m.%Y')) }}
{% call card('form-card') %}
<div class="stack">
{% if has_entry %}
<p class="muted">An diesem Tag ist bereits regulaere Arbeitszeit eingetragen. Stundenausgleich ist dann nicht verfuegbar.</p>
<div class="nav-row">
{{ link_button('Zeiteintrag bearbeiten', '/entry/' ~ existing_entry_id ~ '/edit', 'primary') }}
{{ link_button('Zurueck', return_to, 'ghost') }}
</div>
{% else %}
<p class="muted">
Baut Ueberstunden direkt auf oder ab. Der Eintrag wirkt nur auf den Saldo, nicht auf Ist-Stunden oder den Arbeitsstunden-Counter.
</p>
{% if day_is_vacation %}
<p class="muted">Fuer diesen Tag ist zusaetzlich Urlaub gesetzt.</p>
{% elif day_special_status == 'holiday' %}
<p class="muted">Fuer diesen Tag ist zusaetzlich Feiertag gesetzt.</p>
{% elif day_special_status == 'sick' %}
<p class="muted">Fuer diesen Tag ist zusaetzlich Krankheit gesetzt.</p>
{% endif %}
{% if overtime_adjustment_error %}
<p class="flash flash--error">{{ overtime_adjustment_error }}</p>
{% endif %}
{% if day_overtime_adjustment_minutes %}
<p class="muted">
Aktuell gesetzt:
<strong>{{ '+' if day_overtime_adjustment_minutes > 0 else '' }}{{ minutes_to_hhmm(day_overtime_adjustment_minutes) }}</strong>
</p>
{% endif %}
<hr />
<form method="post" action="/overtime-adjustment/set" class="stack">
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
<input type="hidden" name="date" value="{{ selected_date.isoformat() }}" />
<input type="hidden" name="return_to" value="{{ return_to }}" />
<input type="hidden" name="adjustment_mode" value="manual" />
<h2>Stunden</h2>
{{ input_field('Manuell (+HH:MM oder -HH:MM)', 'adjustment_value', type='text', value='', attrs='placeholder=\"+02:30\"') }}
<div class="nav-row">
{{ button('Stunden speichern', type='submit') }}
</div>
</form>
<hr />
<form method="post" action="/overtime-adjustment/set" class="stack">
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
<input type="hidden" name="date" value="{{ selected_date.isoformat() }}" />
<input type="hidden" name="return_to" value="{{ return_to }}" />
<input type="hidden" name="adjustment_mode" value="interval" />
<h2>Von-Bis Uhrzeit</h2>
<div class="inline-grid">
{{ input_field('Von', 'interval_start_time', type='time', value='', required=true) }}
{{ input_field('Bis', 'interval_end_time', type='time', value='', required=true) }}
</div>
<div class="nav-row">
<button type="submit" name="interval_direction" value="positive" class="btn btn--primary">Als Plus speichern</button>
<button type="submit" name="interval_direction" value="negative" class="btn btn--ghost">Als Minus speichern</button>
</div>
</form>
<hr />
<form method="post" action="/overtime-adjustment/set" class="stack">
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
<input type="hidden" name="date" value="{{ selected_date.isoformat() }}" />
<input type="hidden" name="return_to" value="{{ return_to }}" />
<input type="hidden" name="adjustment_mode" value="full_day" />
<h2>Ganzer Tag</h2>
<p class="muted">Der Tageswert wird aus Wochenstunden geteilt durch die relevanten Arbeitstage berechnet.</p>
<div class="nav-row">
<button type="submit" name="full_day_direction" value="positive" class="btn btn--primary">Ganzer Tag +</button>
<button type="submit" name="full_day_direction" value="negative" class="btn btn--ghost">Ganzer Tag -</button>
</div>
</form>
<hr />
<div class="nav-row">
{% if day_overtime_adjustment_minutes %}
<form method="post" action="/overtime-adjustment/clear" class="inline-form">
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
<input type="hidden" name="date" value="{{ selected_date.isoformat() }}" />
<input type="hidden" name="return_to" value="{{ return_to }}" />
<button type="submit" class="btn btn--ghost">Stundenausgleich entfernen</button>
</form>
{% endif %}
{{ link_button('Zurueck', return_to, 'ghost') }}
</div>
{% endif %}
</div>
{% endcall %}
{% endblock %}