Start-/Endzeit optional: ohne Zeiten Arbeitszeit Kunde & Mehrarbeit leer
- Start- und Endzeit nicht mehr vorbelegt (leeres Feld, Platzhalter HH:MM) - TimeInput erlaubt Leeren eines Feldes - Validierung: beide Zeiten zusammen angeben oder beide leer lassen - Ohne Zeiten zeigen Vorschau und Liste "—" für Arbeitszeit Kunde und Mehrarbeit (Eintrag mit nur Reisezeit/Vertriebsunterstützung möglich) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+7
-2
@@ -14,10 +14,15 @@ export function parseArbeitszeitInput(body: unknown): ArbeitszeitInput {
|
||||
const ort = String(b.ort ?? '') as Ort;
|
||||
if (!ORTE.includes(ort)) throw new Error('Ungültiger Ort.');
|
||||
|
||||
// Beginn/Ende sind optional. Wenn angegeben, müssen sie gültig sein;
|
||||
// entweder beide leer oder beide gesetzt.
|
||||
const beginn = String(b.beginn ?? '');
|
||||
const ende = String(b.ende ?? '');
|
||||
if (parseHM(beginn) === null) throw new Error('Ungültige Startzeit.');
|
||||
if (parseHM(ende) === null) throw new Error('Ungültige Endzeit.');
|
||||
if (beginn !== '' && parseHM(beginn) === null) throw new Error('Ungültige Startzeit.');
|
||||
if (ende !== '' && parseHM(ende) === null) throw new Error('Ungültige Endzeit.');
|
||||
if ((beginn === '') !== (ende === '')) {
|
||||
throw new Error('Bitte Start- und Endzeit gemeinsam angeben oder beide leer lassen.');
|
||||
}
|
||||
|
||||
const reisezeit = toNumber(b.reisezeit, 0);
|
||||
const vertriebsunterstuetzung = toNumber(b.vertriebsunterstuetzung, 2);
|
||||
|
||||
Reference in New Issue
Block a user