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
@@ -3,6 +3,8 @@
|
||||
(siehe planboard.js). Die Kalender-Felder des Browsers liefern dagegen
|
||||
"yyyy-mm-dd" bzw. "hh:mm" - umgerechnet wird erst beim Speichern. */
|
||||
|
||||
import { parseGermanDate, formatTime, dayKey } from './planboard'
|
||||
|
||||
// Service Type: gespeichert werden die bisherigen Werte, angezeigt wird Deutsch
|
||||
export const SERVICE_TYPES = [
|
||||
{ value: 'Remote', label: 'Fernwartung (remote)' },
|
||||
@@ -21,6 +23,12 @@ export function serviceTypeLabel(value) {
|
||||
return SERVICE_TYPE_SHORT[String(value || '').trim().toLowerCase()] || value
|
||||
}
|
||||
|
||||
// Zeiten eines Arbeitsblatts darf nur aendern, wer es angelegt hat.
|
||||
// Reine Kommentare haben keine Arbeitszeit und bleiben aussen vor.
|
||||
export function canEditWorksheetTimes(worksheet, user) {
|
||||
return Boolean(user?.$id) && worksheet?.employeeId === user.$id && !worksheet.isComment
|
||||
}
|
||||
|
||||
const pad = (n) => String(n).padStart(2, '0')
|
||||
|
||||
// Heutiges Datum in Ortszeit als "yyyy-mm-dd" (Wert fuer <input type="date">)
|
||||
@@ -40,6 +48,17 @@ export function timeToWoms(value) {
|
||||
return m ? `${m[1].padStart(2, '0')}${m[2]}` : ''
|
||||
}
|
||||
|
||||
// Rueckweg fuers Bearbeiten: "26.09.2026" (auch "2.5.2026") -> "2026-09-26", sonst ""
|
||||
export function germanDateToIso(value) {
|
||||
const date = parseGermanDate(value)
|
||||
return date ? dayKey(date) : ''
|
||||
}
|
||||
|
||||
// "0930" -> "09:30", sonst ""
|
||||
export function womsTimeToInput(value) {
|
||||
return formatTime(value)
|
||||
}
|
||||
|
||||
// Minuten von "hh:mm" bis "hh:mm"; liegt das Ende davor, geht es ueber Mitternacht
|
||||
export function minutesBetween(start, end) {
|
||||
const a = /^(\d{1,2}):(\d{2})/.exec(String(start || ''))
|
||||
|
||||
Reference in new issue
Block a user