Skip to content

[bug] Genehmigung von Buchungen außerhalb der Rahmenzeit #41

Open

Description

@pittiplatschpitti-a11y

Deutsch
Describe the bug

Arbeitszeiten, die außerhalb der konfigurierten Rahmenarbeitszeit erfasst werden, erhalten bei der Buchung den roten Statushinweis „Genehmigung“ und verbleiben im Status „Ausstehend“. Laut Systemmeldung („Zeiten außerhalb des konfigurierten Rahmens benötigen eine zusätzliche Genehmigung vor der HR-Bestätigung“) ist hierfür eine Freigabe erforderlich. In der Benutzeroberfläche ist jedoch nicht ersichtlich, welche Rolle (z. B. Teamleiter, Vorgesetzter) diese Genehmigung erteilen kann und wo die entsprechende Aktion im System zu finden ist.
Reproduction steps

  1. Als Mitarbeiter eine Arbeitszeit erfassen, die ganz oder teilweise außerhalb der im Arbeitszeitplan hinterlegten Rahmenarbeitszeit liegt
  2. Anschließend steht bei der Buchung rot "Genehmigung"
  3. Wer kann wo die Genehmigung erteilen?
    Expected behaviour

Es sollte im System klar ersichtlich sein, welche Rolle die Genehmigung erteilen muss und an welcher Stelle (z. B. über eine Freigabe-Übersicht für Führungskräfte oder direkt im Team-Dashboard) die zusätzliche Genehmigung erteilt werden kann, damit die Buchung zur HR-Bestätigung übergeht.
Actual behaviour

Nach der Erfassung wird bei der Buchung lediglich der rote Hinweis „Genehmigung“ angezeigt. Es ist weder dokumentiert noch in der UI auffindbar, welcher Benutzer/Vorgesetzte diese Freigabe an welchem Ort im System vornehmen kann.

Englisch
Describe the bug

Working hours logged outside the configured core working hours / timeframe show a red "Genehmigung" (Approval) status tag and remain pending. While the system notes that an additional approval is required prior to HR confirmation, it is entirely unclear which role is authorized to grant it and where this approval action can be performed in the UI.
Reproduction steps

  1. As an employee, log working hours that fall entirely or partially outside the scheduled framework hours.
  2. The logged entry subsequently displays a red "Genehmigung" (Approval) label.
  3. Who can grant this approval, and where in the system can it be done?

Expected behaviour

There should be a clearly defined and discoverable workflow/UI view indicating which role (e.g., direct supervisor/manager) is responsible for approving out-of-framework hours and where they can review and approve these entries.
Actual behaviour

The entry simply displays a red "Genehmigung" badge. There is no visible option, dedicated approval dashboard, or guidance indicating which user role can grant the approval or where in the interface it can be executed.

Activity

  1. patrickschiller commented on Nov 7, 2026

    @patrickschiller
    Owner

    #41 umgesetzt: echte Freigabe normaler Außenrahmen-Buchungen

    PR: #47
    Head: dbe68f57a93ba26bdc315d31fd4b313586a4337b

    Abhängigkeit: PR #47 basiert auf dem akzeptierten #42-Stand aus PR #46 und
    enthält gegen main kumulativ #42 + #41. Vorgesehene Reihenfolge #46 → #47;
    kein Merge und kein Auto-Merge aktiviert. Beide Pakete können auf dem oberen
    Branch gemeinsam getestet werden.

    • Normale gestempelte Zeitbuchungen haben jetzt unter
      Genehmigungen → Zeitbuchungen den tatsächlichen Ablauf
      zugewiesene aktive Führungskraft (Manager) → zwingend HRAdmin.
      Eigene Buchungen dürfen beide Rollen nicht selbst freigeben; HR kann die
      erste Stufe nicht überspringen.
    • Beschäftigte finden unter Buchen die aktuelle Stufe, zuständige Rolle/Person
      und den Ort der nächsten Aktion sowie den Verlauf. Fehlende/ungültige Manager
      blockieren erklärbar, bis HR eine aktive Führungskraft zuordnet.
    • Strikte Team-/Rollen-/Zuordnungsprüfungen, JWT-Identität, Pflichtrevision,
      atomare Entscheidungen und Sperren schützen vor Fremdzugriff, übersprungenen
      Stufen, stale/doppelten/parallelen Entscheidungen. Offene laufende Buchungen
      sind nicht freigabefähig.
    • Audit dokumentiert Akteur, Zeitpunkt, Ergebnis und Notiz. Nach Änderungen sind
      nötige Freigaben erneut erforderlich; Split/Projektbereich erhalten korrekte
      Segmentzustände und auffindbare Historie. Legacy-Pending-Buchungen brauchen
      keine Neuanlage. Solo und echte In-frame-Buchungen bleiben unverändert.
    • DE/EN, Realtime-Refresh und synchroner OpenAPI-/Client-Vertrag. Eine additive,
      getestete Migration führt zwei nullable Signaturmarker ein.

    Lokale Nachweise:

    • 27 neue API-/Service-Regressionen bestanden.
    • Vollständige API-E2E unter Node 20.20.2: 331/331 Tests, 38 Suites.
    • Web/Shared unter Node 20.20.2 ohne Cache: 234/234 + 88/88 bestanden;
      abschließender Web-Nachlauf ebenfalls 234/234.
    • Alle vier Projekt-Typechecks, Lint und API-/Web-/Shared-Builds erfolgreich;
      nur bestehende Warnungen. pnpm verify:api und git diff --check erfolgreich.
    • Echter Upgrade-Test vom akzeptierten [bug] Bearbeiten von Anträgen #42-Schema mit synthetischer alter
      Pending-Buchung: Daten/Revision erhalten, keine erfundene Freigabe.

    GitHub-Gates auf dbe68f57a93ba26bdc315d31fd4b313586a4337b vollständig grün:

    • CI-Lauf:
      build-test-lint, api-e2e, database-upgrade und
      terminal-pin-browser erfolgreich.
    • CI-API: 331/331 Tests, 38 Suites; pnpm verify:api erfolgreich.
    • CI-Web: 234/234 Tests, 35 Dateien; vier Projekt-Typechecks und relevante
      Builds erfolgreich.
    • DCO
      erfolgreich; verlangter DCO-/Co-Author-Trailer vorhanden.

    Deutsche Nachtestanleitung – Paket #41, isoliertes Setup, Rollen, Stempeln,
    Legacy-Fixtures, Positiv-/Negativ-/Konkurrenzfälle und tatsächliche Ergebnisse
    .

    Der manuelle Docker-/Browser-Durchlauf ist dokumentiert, nicht als durchgeführt
    behauptet. Lokale Testdatenbank mit Datenerhalt gestoppt. Keine Releases, Tags,
    Versionsbumps, Merges, Deployments oder Release-Workflows. #43/#45/#44 nicht begonnen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions