[Bug] Import (JSON/Excel) ohne Validierung — Crash & fehlendes Feedback #3

Closed
opened 2026-06-03 14:10:01 +02:00 by ferdi2go · 1 comment
Owner

Schweregrad: MEDIUM

Dateien: js/data.js:32-42 (loadFromJSON), js/app.js:20-22, js/history.js:78, js/employees.js:70-81

Problem:

  1. loadFromJSON übernimmt employees ohne pro-Mitarbeiter-Prüfung. Fehlt constraints (alte/handgemachte Datei), crasht js/algorithm.js:40 (c.neverDays) bei der Generierung. Doppelte IDs können Doppelbesetzung am selben Tag erzeugen.
  2. Excel-Import (readEmployeeNames) wirft bei Nicht-XLSX-Datei oder fehlendem XLSX (CDN blockiert) — nicht gefangen, kein Nutzer-Feedback.

Fix: In loadFromJSON jeden Mitarbeiter validieren/normalisieren (fehlende constraints mit Defaults füllen, IDs deduplizieren, Urlaubsbereiche from<=to). Excel-Import in try/catch + typeof XLSX-Guard mit sichtbarer Fehlermeldung.

**Schweregrad:** MEDIUM **Dateien:** `js/data.js:32-42` (loadFromJSON), `js/app.js:20-22`, `js/history.js:78`, `js/employees.js:70-81` **Problem:** 1. `loadFromJSON` übernimmt `employees` ohne pro-Mitarbeiter-Prüfung. Fehlt `constraints` (alte/handgemachte Datei), crasht `js/algorithm.js:40` (`c.neverDays`) bei der Generierung. Doppelte IDs können Doppelbesetzung am selben Tag erzeugen. 2. Excel-Import (`readEmployeeNames`) wirft bei Nicht-XLSX-Datei oder fehlendem `XLSX` (CDN blockiert) — nicht gefangen, kein Nutzer-Feedback. **Fix:** In `loadFromJSON` jeden Mitarbeiter validieren/normalisieren (fehlende `constraints` mit Defaults füllen, IDs deduplizieren, Urlaubsbereiche `from<=to`). Excel-Import in `try/catch` + `typeof XLSX`-Guard mit sichtbarer Fehlermeldung.
ferdi2go added the severity/mediumbug labels 2026-06-03 14:10:01 +02:00
Author
Owner

Behoben in 065876c: loadFromJSON und der localStorage-Start-Load normalisieren Mitarbeiter (normalizeEmployees): fehlende constraints werden gefüllt, unbrauchbare Zeilen verworfen, doppelte IDs aufgelöst, ungültige Urlaubsbereiche (from>to) entfernt. Excel-Im-/Export sind mit try/catch + typeof XLSX-Guard und Nutzer-Feedback abgesichert. Inkl. neuer Tests.

Behoben in `065876c`: `loadFromJSON` und der localStorage-Start-Load normalisieren Mitarbeiter (`normalizeEmployees`): fehlende `constraints` werden gefüllt, unbrauchbare Zeilen verworfen, doppelte IDs aufgelöst, ungültige Urlaubsbereiche (`from>to`) entfernt. Excel-Im-/Export sind mit `try/catch` + `typeof XLSX`-Guard und Nutzer-Feedback abgesichert. Inkl. neuer Tests.
Sign in to join this conversation.