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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Schweregrad: MEDIUM
Dateien:
js/data.js:32-42(loadFromJSON),js/app.js:20-22,js/history.js:78,js/employees.js:70-81Problem:
loadFromJSONübernimmtemployeesohne pro-Mitarbeiter-Prüfung. Fehltconstraints(alte/handgemachte Datei), crashtjs/algorithm.js:40(c.neverDays) bei der Generierung. Doppelte IDs können Doppelbesetzung am selben Tag erzeugen.readEmployeeNames) wirft bei Nicht-XLSX-Datei oder fehlendemXLSX(CDN blockiert) — nicht gefangen, kein Nutzer-Feedback.Fix: In
loadFromJSONjeden Mitarbeiter validieren/normalisieren (fehlendeconstraintsmit Defaults füllen, IDs deduplizieren, Urlaubsbereichefrom<=to). Excel-Import intry/catch+typeof XLSX-Guard mit sichtbarer Fehlermeldung.Behoben in
065876c:loadFromJSONund der localStorage-Start-Load normalisieren Mitarbeiter (normalizeEmployees): fehlendeconstraintswerden gefüllt, unbrauchbare Zeilen verworfen, doppelte IDs aufgelöst, ungültige Urlaubsbereiche (from>to) entfernt. Excel-Im-/Export sind mittry/catch+typeof XLSX-Guard und Nutzer-Feedback abgesichert. Inkl. neuer Tests.