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

+28 -11
View File
@@ -1,12 +1,22 @@
import { useState } from 'react'
import { FaClock, FaUser, FaExchangeAlt, FaComment, FaChevronDown, FaChevronUp } from 'react-icons/fa'
import { serviceTypeLabel } from '../lib/ticketForm'
import { FaClock, FaUser, FaExchangeAlt, FaComment, FaChevronDown, FaChevronUp, FaPen } from 'react-icons/fa'
import { serviceTypeLabel, canEditWorksheetTimes } from '../lib/ticketForm'
function needsTimeEntry(ws) {
return ws.serviceType === 'GIT' && (!ws.startTime || !Number(ws.totalTime))
}
export default function WorksheetList({ worksheets, totalTime, loading, onEditTime, onTogglePlan }) {
const headerButtonStyle = {
background: 'rgba(255,255,255,0.25)',
color: 'white',
border: '1px solid rgba(255,255,255,0.4)',
borderRadius: '6px',
padding: '2px 10px',
fontSize: '0.8rem',
marginRight: '8px',
}
export default function WorksheetList({ worksheets, totalTime, loading, onEditTime, onTogglePlan, currentUser, onEditTimes }) {
const [expandedWorksheets, setExpandedWorksheets] = useState({})
if (loading) {
return (
@@ -157,14 +167,7 @@ export default function WorksheetList({ worksheets, totalTime, loading, onEditTi
<button
type="button"
className="btn btn-sm"
style={{
background: 'rgba(255,255,255,0.25)',
color: 'white',
border: '1px solid rgba(255,255,255,0.4)',
borderRadius: '6px',
padding: '2px 10px',
fontSize: '0.8rem',
}}
style={headerButtonStyle}
onClick={(e) => {
e.stopPropagation()
onEditTime(ws)
@@ -173,6 +176,20 @@ export default function WorksheetList({ worksheets, totalTime, loading, onEditTi
<FaClock className="me-1" /> Zeit nachtragen
</button>
)}
{onEditTimes && canEditWorksheetTimes(ws, currentUser) && (
<button
type="button"
className="btn btn-sm"
title="Beginn, Ende und Arbeitszeit ändern"
style={headerButtonStyle}
onClick={(e) => {
e.stopPropagation()
onEditTimes(ws)
}}
>
<FaPen className="me-1" /> Zeiten bearbeiten
</button>
)}
{onTogglePlan && !ws.isComment && Number(ws.totalTime) > 0 && (
<button
type="button"