diff --git a/src/components/CreateWorksheetModal.jsx b/src/components/CreateWorksheetModal.jsx index d6828b9..62633d6 100644 --- a/src/components/CreateWorksheetModal.jsx +++ b/src/components/CreateWorksheetModal.jsx @@ -7,6 +7,7 @@ import { Button, DateTimeInput, Dialog, DurationSelect, Field } from './ui' import { roundUpToStep, isValidStep } from '../lib/timeSteps' import { validateSupporters } from '../lib/support' import SupportersEditor from './SupportersEditor' +import { countsToPlanWert } from '../lib/planVorgabe' // Akquise-Tickets: Ergebnis des Kundenkontakts (statt technischer Status) const ACQUISITION_STATUS = ['In Kontakt', 'Zugesagt', 'Abgesagt'] @@ -31,7 +32,7 @@ const initialForm = (workorder, newStatus) => ({ endTime: '', details: '', isComment: false, - countsToPlan: false, + countsToPlan: null, // null = unberührt: dann gilt die Abo-Vorgabe des Tickets (planVorgabe.js) supporters: [] }) @@ -50,6 +51,13 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre : (workorder?.status || 'Open') const [formData, setFormData] = useState(() => initialForm(workorder, defaultStatus)) + // Der Abo-Status kommt oft erst nach dem Öffnen: der Wert wird bei jedem Rendern aus Handwahl und Vorgabe berechnet + const countsToPlan = countsToPlanWert({ + gewaehlt: formData.countsToPlan, + ticket: workorder, + aboHoursAllowed, + isComment: formData.isComment + }) const [loading, setLoading] = useState(false) const [error, setError] = useState('') @@ -130,7 +138,7 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre endTime: timeToWoms(formData.endTime), details: formData.details, isComment: formData.isComment, - countsToPlan: aboHoursAllowed && !formData.isComment && formData.countsToPlan, + countsToPlan, employeeShort: user?.prefs?.shortCode || '', // Aus User-Preferences supporters } @@ -222,7 +230,7 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre