66 lines
3.3 KiB
HTML
66 lines
3.3 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, select_field, textarea_field %}
|
|
{% from "ui/page_header.html" import page_header %}
|
|
{% block title %}Mehrfacheingabe{% endblock %}
|
|
{% block content %}
|
|
{{ page_header('Mehrere Tage / Wochen bearbeiten', 'Zeitraum und Wochentage auswählen, dann Zeiten gesammelt für alle passenden Tage setzen.') }}
|
|
{% call card('form-card full-width') %}
|
|
<form method="post"
|
|
action="/bulk-entry"
|
|
class="stack"
|
|
data-component="break-rules-form"
|
|
data-auto-break-enabled="{{ 'true' if user.automatic_break_rules_enabled else 'false' }}">
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token }}" />
|
|
<input type="hidden" name="break_mode" value="{{ break_mode }}" data-break-mode />
|
|
<div class="inline-grid">
|
|
{{ input_field('Von', 'from_date', type='date', value=from_date, required=true) }}
|
|
{{ input_field('Bis', 'to_date', type='date', value=to_date, required=true) }}
|
|
</div>
|
|
<fieldset class="weekday-fieldset">
|
|
<legend>Wochentage</legend>
|
|
<div class="weekday-grid">
|
|
{% for option in weekday_options %}
|
|
<label class="checkbox-row">
|
|
<input type="checkbox"
|
|
name="weekdays_values"
|
|
value="{{ option.value }}"
|
|
{% if option.value in weekdays_selected %}checked{% endif %} />
|
|
<span>{{ option.label }}</span>
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
</fieldset>
|
|
<div class="inline-grid">
|
|
{{ input_field('Beginn', 'start_time', type='time', value=start_time, required=true, attrs='data-break-input=\"start\"') }}
|
|
{{ input_field('Ende', 'end_time', type='time', value=end_time, required=true, attrs='data-break-input=\"end\"') }}
|
|
</div>
|
|
<div class="inline-grid">
|
|
{{ input_field('Pause (Minuten)', 'break_minutes', type='number', value=break_minutes, required=true, attrs='min="0" step="1" data-break-input=\"minutes\"') }}
|
|
{{ select_field('Modus', 'mode', [
|
|
{'value': 'only_missing', 'label': 'Nur leere Tage anlegen'},
|
|
{'value': 'upsert', 'label': 'Bestehende Einträge aktualisieren + fehlende anlegen'}
|
|
], bulk_mode, required=true) }}
|
|
</div>
|
|
{% 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 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', notes, 3) }}
|
|
<div class="nav-row">
|
|
{{ button('Mehrfacheingabe speichern', type='submit') }}
|
|
{{ link_button('Zurück', '/dashboard', 'ghost') }}
|
|
</div>
|
|
</form>
|
|
{% endcall %}
|
|
{% endblock %}
|