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:
1 parent
e678899141
commit
149b38b94b
5 files changed
+219
-13
No files matched your search
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user