Arbeitsblätter: Zeiten nachträglich bearbeiten, nur für den Ersteller

Eigene Arbeitsblätter (employeeId = angemeldeter Benutzer, kein reiner
Kommentar) bekommen im Kopf den Button "Zeiten bearbeiten". Der Dialog
ändert Beginn, Ende und Arbeitszeit; die Minuten rechnen wie beim Anlegen
mit, von Hand eingetragene Minuten bleiben stehen. Gespeichert werden nur
die fünf Zeitfelder, wieder als dd.mm.yyyy / hhmm.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-09-27 09:36:19 +00:00
1 parent e678899141
commit 149b38b94b
5 files changed
+219 -13

No files matched your search

+13
View File
@@ -1,5 +1,6 @@
import { useState, useEffect, useCallback } from 'react'
import { databases, DATABASE_ID, COLLECTIONS, Query, ID, isDemoMode } from '../lib/appwrite'
import { canEditWorksheetTimes } from '../lib/ticketForm'
const DEMO_MODE = isDemoMode
@@ -388,6 +389,17 @@ export function useWorksheets(woid = null) {
}
}
/**
* Aendert nachtraeglich Beginn, Ende und Arbeitszeit - nur fuer den Ersteller
*/
const updateWorksheetTimes = async (worksheet, times, currentUser) => {
if (!canEditWorksheetTimes(worksheet, currentUser)) {
return { success: false, error: 'Nur wer das Arbeitsblatt erstellt hat, kann die Zeiten ändern.' }
}
const { startDate, startTime, endDate, endTime, totalTime } = times
return updateWorksheet(worksheet.$id, { startDate, startTime, endDate, endTime, totalTime })
}
/**
* Löscht ein Worksheet (sollte normalerweise nicht erlaubt sein - Audit Trail!)
*/
@@ -468,6 +480,7 @@ export function useWorksheets(woid = null) {
error,
createWorksheet,
updateWorksheet,
updateWorksheetTimes,
deleteWorksheet,
refresh: fetchWorksheets,
getTotalTime,