Zeiterfassung: Backoffice erfasst Zeiten für Mitarbeiter

- Backoffice-Rolle erhält field:correct_time (User-Entscheidung): Zeiten für
  Monteure/Teamleiter direkt freigegeben anlegen und korrigieren
- Eigene Zeiten erfordern weiterhin field:record_own_time (Backoffice erfasst
  keine eigenen Zeiten)
- Auftragsdetail › Zeiten: Formular „Zeit für Mitarbeiter erfassen“ (Mitarbeiter,
  Art, Datum, von–bis oder Dauer, Begründung; Mandanten-Zeitzone)
- Server Action recordTimeForUserAction (moduleGuard work_orders)
- Test test-backoffice-time (Backoffice, fremdes Team, Monteur, Mandantentrennung)

Demo-Daten lokal bereinigt: je Monteur nur noch eine aktive Uhr.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 09:54:06 +02:00
co-authored by Claude Opus 5
parent 5ea23a179d
commit 2f312a7835
7 changed files with 250 additions and 7 deletions
+17 -1
View File
@@ -251,7 +251,23 @@
"rejectReason": "Reason",
"approved": "Approved.",
"rejected": "Rejected.",
"openApprovals": "All open approvals"
"openApprovals": "All open approvals",
"record": {
"title": "Record time for a staff member",
"hint": "Times recorded by the office or a team lead are approved immediately and audited. Enter either an end time or a duration.",
"user": "Staff member",
"userPlaceholder": "Select staff member",
"type": "Type",
"date": "Date",
"from": "From",
"to": "To",
"duration": "Duration (minutes)",
"durationHint": "Only if no end time is given.",
"reason": "Reason",
"note": "Note (optional)",
"submit": "Save time",
"saved": "Time saved."
}
},
"photos": {
"empty": "No photos yet.",