51 lines
3.2 KiB
HTML
51 lines
3.2 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, textarea_field %}
|
|
{% from "ui/page_header.html" import page_header %}
|
|
{% block title %}{{ title }}{% endblock %}
|
|
{% block content %}
|
|
{{ page_header(title, "Nur fuer regulaere Arbeitszeit." ~ (" Gesetzliche Pausen koennen automatisch beruecksichtigt werden." if user.automatic_break_rules_enabled else "")) }}
|
|
{% call card('form-card') %}
|
|
<form method="post"
|
|
action="{{ action_url }}"
|
|
class="stack"
|
|
data-component="break-rules-form"
|
|
data-auto-break-enabled="{{ 'true' if user.automatic_break_rules_enabled else 'false' }}"
|
|
data-full-day-net-minutes="{{ full_day_net_minutes if full_day_net_minutes is not none else '' }}"
|
|
data-default-break-minutes="{{ user.default_break_minutes }}"
|
|
data-default-start-time="08:30">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
|
|
<input type="hidden" name="return_to" value="{{ return_to }}" />
|
|
<input type="hidden" name="break_mode" value="{{ entry.break_mode if entry else ('auto' if user.automatic_break_rules_enabled else 'manual') }}" data-break-mode />
|
|
{{ input_field('Datum', 'date', type='date', value=(entry.date if entry and entry.date else selected_date.isoformat()), required=true) }}
|
|
{{ input_field('Arbeitsbeginn', 'start_time', type='time', value=(entry.start_time if entry else ''), required=true, attrs='data-break-input=\"start\"') }}
|
|
{{ input_field('Arbeitsende', 'end_time', type='time', value=(entry.end_time if entry else ''), required=true, attrs='data-break-input=\"end\"') }}
|
|
{% if full_day_net_minutes is not none %}
|
|
<div class="nav-row">
|
|
<button type="button" class="button ghost" data-action="entry-apply-full-day">Ganzer Tag</button>
|
|
</div>
|
|
{% endif %}
|
|
{{ input_field('Pause in Minuten', 'break_minutes', type='number', value=(entry.break_minutes if entry and entry.break_minutes is not none else 0), required=true, attrs='min=\"0\" step=\"1\" data-break-input=\"minutes\"') }}
|
|
{% if user.automatic_break_rules_enabled %}
|
|
<div class="form-field form-field--hint stack-xs" data-component="break-rules-status">
|
|
<p class="muted" data-break-status>
|
|
{% if entry and entry.break_mode == 'manual' %}
|
|
Pause manuell gesetzt. Gesetzliche Mindestpause wird nicht automatisch überschrieben.
|
|
{% else %}
|
|
Gesetzliche Mindestpause nach deutschem Arbeitsrecht wird automatisch vorgeschlagen.
|
|
{% endif %}
|
|
</p>
|
|
<button type="button" class="button ghost" data-action="break-reset-auto">Automatische Pause erneut anwenden</button>
|
|
</div>
|
|
{% endif %}
|
|
{{ textarea_field('Notiz (optional)', 'notes', (entry.notes if entry else ''), 3) }}
|
|
<p class="muted">Mit gespeicherter Arbeitszeit werden Urlaub, Feiertag, Krankheit und Stundenausgleich fuer diesen Tag entfernt.</p>
|
|
<div class="nav-row">
|
|
{{ button('Speichern', type='submit') }}
|
|
{{ link_button('Abbrechen', return_to, 'ghost') }}
|
|
</div>
|
|
</form>
|
|
{% endcall %}
|
|
{% endblock %}
|