diff --git a/src/components/CreateWorksheetModal.jsx b/src/components/CreateWorksheetModal.jsx index 31eeef9..8e27e6e 100644 --- a/src/components/CreateWorksheetModal.jsx +++ b/src/components/CreateWorksheetModal.jsx @@ -5,6 +5,8 @@ import { SERVICE_TYPES, todayIso, isoToGermanDate, timeToWoms, minutesBetween } import { TICKET_STATUSES, statusLabel } from '../lib/ticketStatus' import { DateTimeInput, DurationSelect } from './ui' import { roundUpToStep, isValidStep } from '../lib/timeSteps' +import { validateSupporters } from '../lib/support' +import SupportersEditor from './SupportersEditor' // Akquise-Tickets: Ergebnis des Kundenkontakts (statt technischer Status) const ACQUISITION_STATUS = ['In Kontakt', 'Zugesagt', 'Abgesagt'] @@ -29,7 +31,8 @@ const initialForm = (workorder, newStatus) => ({ endTime: '', details: '', isComment: false, - countsToPlan: false + countsToPlan: false, + supporters: [] }) export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCreate, aboHoursAllowed = true }) { @@ -101,6 +104,13 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre setLoading(false) return } + const supporters = formData.isComment ? [] : formData.supporters + const supportError = validateSupporters(supporters, user?.$id) + if (supportError) { + setError(supportError) + setLoading(false) + return + } const worksheetData = { woid: workorder.woid, @@ -116,7 +126,8 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre details: formData.details, isComment: formData.isComment, countsToPlan: aboHoursAllowed && !formData.isComment && formData.countsToPlan, - employeeShort: user?.prefs?.shortCode || '' // Aus User-Preferences + employeeShort: user?.prefs?.shortCode || '', // Aus User-Preferences + supporters } const result = await onCreate(worksheetData, user) @@ -257,6 +268,15 @@ export default function CreateWorksheetModal({ isOpen, onClose, workorder, onCre + {!formData.isComment && ( + handleChange('supporters', list)} + excludeUserId={user?.$id} + minutes={formData.totalTime} + /> + )} +