102 lines
4.9 KiB
HTML
102 lines
4.9 KiB
HTML
{% 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 %}
|